Self-hosted NAS media subscription, downloader and Plex TV library manager โ powered by Go, SQLite, aria2 and Vue/TypeScript.
Full-pagination subscriptions build a complete baseline, then auto-download new works.
aria2 / wget engines, pause & resume, resumable transfers, 429 backoff with live speed.
tvshow.nfo, per-episode NFO, posters and thumbnails written into your existing media root.
Rule34Video and Hanime1 today, behind a unified adapter interface for new sources.
Admin sessions with CSRF, structured audit log, task history, notifications and health checks.
Safe JSON export of titles/tags with source-hash verification and re-import.
Replace the NAS path in compose.yaml with your Plex media directory, then:
# docker compose /path/on/nas/Plex-TV:/media docker compose up -d --build # open http://NAS-IP:8787
Or run from source (Go 1.24, Node.js, aria2, FFmpeg):
npm install && npm run build aria2c --enable-rpc=true --daemon=true go run ./cmd/r34watch
data directoryOne-line install for systemd-based Linux (Debian/Ubuntu, RHEL/Fedora, Arch, openSUSE):
curl -fsSL https://raw.githubusercontent.com/Hwatch/Hwatch-Server/main/install.sh | sudo bash
Installs to /opt/hwatch, creates a hwatch systemd service on :8787 and pulls the latest release. Options are documented in the README; on non-systemd systems pass --no-service.
HWatch is an open-source, self-hosted tool for personal media management. It does not host, bundle, mirror or distribute any media or third-party content, and is not affiliated with, endorsed by or sponsored by any content source or platform. It is intended for adults only; you are solely responsible for complying with applicable laws and the terms of service of any site you access. The software is provided "as is", without warranty of any kind.