Login for certain variables to be updated with your slot's information
Wiki > Dispatcharr
1. ~/dispatcharr/compose.yaml
services:
dispatcharr:
image: ghcr.io/dispatcharr/dispatcharr:latest
container_name: dispatcharr
restart: unless-stopped
ports:
- "26123:9191" # replace HOSTPORT with a port from your Whatbox panel
volumes:
- dispatcharr_data:/data
environment:
- DISPATCHARR_ENV=aio
- REDIS_HOST=localhost
- CELERY_BROKER_URL=redis://localhost:6379/0
- DISPATCHARR_LOG_LEVEL=info
- TZ=America/New_York
volumes:
dispatcharr_data:
2. ~/dispatcharr/watchdog.sh
#!/bin/bash
# Dispatcharr watchdog — Whatbox rootless Podman. Restarts container if down. Runs from cron.
export XDG_RUNTIME_DIR="/run/user/$(id -u)"
export PATH="$PATH:/usr/bin:/usr/local/bin"
COMPOSE_DIR="$HOME/dispatcharr"
if ! podman container exists dispatcharr 2>/dev/null \
|| [ "$(podman inspect -f '{{.State.Running}}' dispatcharr 2>/dev/null)" != "true" ]; then
echo "$(date): dispatcharr not running — starting"
cd "$COMPOSE_DIR" && podman-compose up -d
else
echo "$(date): dispatcharr healthy"
fi
3. Bring it up
mkdir -p ~/dispatcharr && cd ~/dispatcharr
# create compose.yaml + watchdog.sh above, then:
chmod +x ~/dispatcharr/watchdog.sh
podman pull ghcr.io/dispatcharr/dispatcharr:latest
podman-compose up -d
podman logs -f dispatcharr # watch first boot; Ctrl-C when it settles
4. Cron watchdog
crontab -e
*/5 * * * * /home/user/dispatcharr/watchdog.sh >> /home/user/dispatcharr/watchdog.log 2>&1
5. Updates
cd ~/dispatcharr
podman-compose down
podman pull ghcr.io/dispatcharr/dispatcharr:latest
podman-compose up -d