Files
2026-06-04 16:20:56 -05:00

2.4 KiB

type, status, source, repo, repo_url, language, branch, tags, updated
type status source repo repo_url language branch tags updated
project active git.alwisp.com jason/nyaa-crawler https://git.alwisp.com/jason/nyaa-crawler TypeScript main
repo
jason
2026-05-29

nyaa-crawler

Repository: jason/nyaa-crawler · branch main · TypeScript

Summary

Dockerized Nyaa.si anime torrent crawler — tracks shows, polls RSS for new episodes, and auto-downloads torrent files with a dark-themed web UI and SQLite persistence

Current status

Active. Synced from Gitea on 2026-05-29.

Documentation overview

nyaa-crawler

A dockerized torrent crawler and downloader for Nyaa.si. Track anime shows, poll for new episodes via RSS, and automatically download .torrent files to a host-mounted directory.

Features

  • Search Nyaa.si and add shows to a watch list
  • Automatic polling for new episodes (configurable interval, default 15 min)
  • Auto-downloads .torrent files to a mapped host directory
  • Track episode status: pending, auto-downloaded, or manually marked
  • Bulk-mark episodes as already downloaded
  • Minimal dark-themed web UI
  • SQLite persistence — easy to back up and migrate
  • Unraid-friendly Docker container

Stack

  • Backend: Node.js + TypeScript + Express
  • Frontend: React + Vite
  • Database: SQLite (better-sqlite3)
  • Scheduler: node-cron
  • Nyaa integration: RSS via fast-xml-parser

Quick Start (Docker)

docker compose up -d

Open http://localhost:8082 in your browser.

Quick Start (Development)

npm install
npm run dev
  • Client dev server: http://localhost:5173 (proxies /api to :3000)
  • API server: http://localhost:3000

Environment Variables

Variable Default Description
PORT 3000 HTTP port
POLL_INTERVAL_SECONDS 900 Polling frequency (min 60)
TORRENT_OUTPUT_DIR ./data/torrents Where .torrent files are saved
DATABASE_PATH ./data/db.sqlite SQLite database path

Unraid Deployment

services:
  nyaa-watcher:
    image: your-registry/nyaa-watcher:latest
    container_name: nyaa-watcher
    restart: unless-stopped
    environment:
      - PORT=3000
      - POLL_INTERVAL_SECONDS=900
      - TORRENT_OUTPUT_DIR=/data/torrents
      - DATABASE_PATH=/data/db.sqlite
    volumes:

…(truncated — see repo)

## Notes

- Project file auto-created from repo documentation.