Skip to content

Seanime -- Runbook

Quick Reference

Item Value
LXC 134
IP 192.168.1.134
Port 43211
URL https://seanime.eva-00.network
Config /opt/seanime/config
Logs {container_name="seanime"} in Loki
Upstream qbittorrent-normal on LXC 110

Common Tasks

Restart Seanime

ssh [email protected]
cd /opt/seanime && docker compose restart

Check container status

ssh [email protected]
docker ps
docker logs seanime --tail 50

Check if Seanime can reach qBittorrent

From inside LXC 134:

curl -sf http://192.168.1.110:8080/api/v2/app/version && echo "OK"

If this fails, check that Gluetun is running on LXC 110 and FIREWALL_OUTBOUND_SUBNETS includes 192.168.1.0/24.

Force re-scan library

In the Seanime web UI, go to Library and click the refresh/scan button. This re-matches local files against AniList entries.

Update auto-download rules for new season

At the start of each anime season (~January, April, July, October):

  1. Open Seanime web UI
  2. Go to the seasonal calendar
  3. Browse new shows and create auto-download rules
  4. Set quality to 1080p and preferred release group (e.g., SubsPlease)
  5. Old rules for completed shows can be deleted

Troubleshooting

Downloads not starting

  1. Check Seanime logs: {container_name="seanime"} |= "error" in Loki
  2. Verify qBittorrent connection in Settings > Torrent Client
  3. Check that qBit-normal is running: docker ps on LXC 110
  4. Check Gluetun VPN status: curl http://192.168.1.110:8000/v1/vpn/status

Files downloaded but not in Jellyfin

The media flow has multiple steps -- check each:

  1. qBit download complete? Check qBit WebUI at normal.eva-00.network
  2. File in correct path? Should be in /data/normal/seasonal/ on LXC 110
  3. Shoko indexed? Check Shoko WebUI at shoko.eva-00.network -- trigger scan if needed
  4. Shokofin VFS populated? Check Jellyfin admin > Libraries > Seasonal
  5. Jellyfin scanned? Trigger a library scan in Jellyfin admin

OAuth2 proxy issues

If you get a 403 or redirect loop:

  1. Check oauth2-proxy-seanime container on LXC 119: docker logs oauth2-proxy-seanime
  2. Verify PocketID is reachable: curl -sf https://auth.eva-00.network/.well-known/openid-configuration
  3. Check Vault secrets at secret/external-oauth2-proxies for seanime_* keys

Redeploy

# Via Forgejo Actions (preferred)
# Push changes to main or dispatch workflow manually

# Manual (emergency only)
cd /path/to/chizuru-v2
ansible-playbook -i ansible/inventory/hosts.yml ansible/playbooks/seanime.yml

Fresh Start

Wipe all Seanime data and start over:

# Via workflow dispatch with force_clean=true
# Or manually:
ansible-playbook -i ansible/inventory/hosts.yml ansible/playbooks/seanime.yml -e force_clean=true

This deletes /opt/seanime/config (SQLite DB, settings, AniList tokens). You will need to re-authenticate with AniList and reconfigure qBittorrent connection.