Add a log view, and Docker packaging
The Log button shows the running daemon live: feed scans, downloads, torrents and every HTTP request. It reads a ring buffer filled by a tracing layer rather than tailing a file, so it works under Docker where logs go to stdout. The access-log middleware skips /api/logs, or the panel's poll would log itself forever. Detached torrents could leave a row stuck in 'downloading' across a restart, where nothing would ever revisit it; those are requeued at startup. Dockerfile, entrypoint and compose: 114 MB runtime, config bound to 0.0.0.0 on first run since container loopback is unreachable, drops to PUID:PGID for Unraid, and a healthcheck that goes through the control socket so a wedged worker reads as unhealthy. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AdXho5tTkjFLeUXKbEjKBh
This commit is contained in:
30
docker-compose.yml
Normal file
30
docker-compose.yml
Normal file
@@ -0,0 +1,30 @@
|
||||
services:
|
||||
ipx:
|
||||
build: .
|
||||
# image: ipx:latest # swap build: for image: once you have published one
|
||||
container_name: ipx
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
# Unraid shares expect these; downloads land owned by nobody:users.
|
||||
PUID: "99"
|
||||
PGID: "100"
|
||||
TZ: "America/Toronto"
|
||||
# ipx=debug for verbose, or add librqbit=info to watch torrents.
|
||||
IPX_LOG: "ipx=info"
|
||||
ports:
|
||||
- "8099:8099" # web UI
|
||||
- "6881:6881/tcp" # BitTorrent peers
|
||||
- "6881:6881/udp" # DHT
|
||||
volumes:
|
||||
- ./config:/config # config.toml, and the web token
|
||||
- ./data:/data # state.db
|
||||
- /mnt/user/audio/ipx:/downloads
|
||||
healthcheck:
|
||||
# `ipx status` proxies through the control socket to the command worker, so this
|
||||
# catches a daemon that is alive but wedged -- not just one that has died. (A
|
||||
# blocked worker is a real failure mode: a torrent used to be able to cause it.)
|
||||
test: ["CMD", "ipx", "status"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
start_period: 10s
|
||||
Reference in New Issue
Block a user