Whatbox Logo
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