- Promote sonarr, radarr, jellyfin, jellyseerr from _dev
- qBittorrent, Sonarr, Radarr, Lidarr, Readarr, Whisparr mount /data/media
at /media so paths match across containers (no remote path mappings,
hardlinks work); downloads go to /media/downloads/prowlarr
- Jellyfin: drop photos (use Immich) and unused internal network, rewrite README
- Jellyseerr: add TZ, document container hostnames and root folders
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Move step-by-step guides into headscale/docs/, slim README to a quick
reference, and use $HEADSCALE_CONTAINER for docker exec commands.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Add a FlareSolverr service on an internal network so Prowlarr can
get past Cloudflare challenges on tagged indexers, and document the
indexer proxy setup. Rename prowlarr_dev to prowlarr.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Renames the stack to drop the _dev suffix now that it's production-ready.
Bumps AUTHENTIK_TAG from 2025.10.1 to 2026.8.3, adds the redis service
required by the authentik server/worker (was missing entirely), and
fixes stale/duplicated lines in the README.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
headscale-admin is a SvelteKit build with its asset base path hardcoded
to /admin, so the earlier Caddyfile root override (to serve it at /)
broke asset loading. Revert it and instead document serving the UI via
an NPM Custom Location (/admin) on the same headscale.example.com
proxy host, which also avoids CORS entirely since the browser sees one
origin for both the UI and the API it calls.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- config.yaml: migrate to current headscale config schema (database/dns
nested keys instead of legacy db_type/db_path/dns_config), add noise
private key path, prefixes, and a DERP map (required at startup)
- compose.yaml: bind-mount a fixed Caddyfile for headscale-ui so it
serves from /app/admin instead of 404ing at /app
- README: document NPM reverse proxy setup (websockets on, HTTP/2 off
to avoid breaking the ts2021 noise protocol handshake), split
Android/iOS vs laptop client instructions, add headscale-ui admin
panel setup with API key generation, switch CLI examples to
docker exec against the running container
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Documents backing up with restic before upgrading, for both the compose
and docker run workflows. Renames the docker run container to
nginx-proxy-manager to match the directory, and cleans up minor wording
and trailing-slash inconsistencies in the README.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Adds a docker run command equivalent to the compose file, splits container
logs out to a separate LOG_PATH volume (they shouldn't be backed up with
the rest of the data), and cleans up README wording.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Jellyfin now mounts the same shared media library used by
radarr_dev/bazarr_dev (JELLYFIN_MEDIA, default /data/media) instead of
a separate jellyfin/media folder, so all *arr apps and Jellyfin see
the same files.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Matches bazarr_dev's BAZARR_MEDIA pattern so Radarr, Bazarr, and other
*arr apps point at the same shared media library rather than a
per-app data folder under VOL_PATH.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>