Download anime batches and episodes, all with Indonesian subtitles.
This site is just a collection of download links — there's no streaming player here. You get an anime list, details, per-resolution download links, plus search and recommendations.
You'll need Node.js and pnpm.
git clone https://github.com/kochan4php/kokunime.git
cd kokunime
npm i -g pnpm # if you don't have it
pnpm install
pnpm devOpen http://localhost:3000.
pnpm docker:up # build and start the container
pnpm docker:down # stop the containerThe production image is built with pnpm multi-stage + Next.js standalone output, so it stays slim. The compose file ships with a healthcheck and resource limits.
| Variable | What it's for | Default |
|---|---|---|
NEXT_PUBLIC_SITE_URL |
canonical, sitemap, Open Graph | https://kokunime.netlify.app |
This is a scraper site: server components pull data from an upstream anime site through the scraper in src/services/scraper/, parse it with cheerio, and cache it with unstable_cache (15–60 min TTL). The home page is ISR (15 min); anime detail pages are ISR (15 min) too. There are no public API routes — the frontend never calls /api/*.
Key perf/SEO choices:
next/imageoptimization enabled (remote images resized/compressed server-side)- JSON-LD:
WebSite+SearchAction(layout),TVSeries+BreadcrumbList(detail pages) - Detail pages return 404 when the upstream scrape fails, instead of rendering empty junk
- Search pages are
noindex
pnpm dev— dev serverpnpm build— production buildpnpm start— run the production buildpnpm lint— ESLintpnpm prettier:fix— format everythingpnpm docker:up/pnpm docker:down— start / stop the container