Docker Deployment
The simplest way to run Dispatcharr is using Docker with a single command. This method is ideal for quick setup and testing.
Prerequisites
Docker installed on your system
At least 2GB of available RAM
Port 9191 available (or choose a different port)
Quick Start
Pull the latest image
docker pull ghcr.io/dispatcharr/dispatcharr:latest
Run the container
docker run -d \
-p 9191:9191 \
--name dispatcharr \
-v dispatcharr_data:/data \
-e DISPATCHARR_ENV=aio \
-e REDIS_HOST=localhost \
-e CELERY_BROKER_URL=redis://localhost:6379/0 \
-e DISPATCHARR_LOG_LEVEL=info \
--restart unless-stopped \
ghcr.io/dispatcharr/dispatcharr:latest
Access the web interface
Open your browser and navigate to http://localhost:9191
Configuration
Environment Variables
Variable Default Description DISPATCHARR_ENVaioDeployment mode (use aio for all-in-one) REDIS_HOSTlocalhostRedis host for caching and task queue CELERY_BROKER_URLredis://localhost:6379/0Celery broker URL DISPATCHARR_LOG_LEVELinfoLogging level (debug, info, warning, error) USE_LEGACY_NUMPYfalseEnable for older CPUs (circa 2009) lacking modern CPU features UWSGI_NICE_LEVEL0Process priority for streaming (-20 to 19, negative requires SYS_NICE) CELERY_NICE_LEVEL5Process priority for background tasks (-20 to 19)
Volume Mounts
The /data volume stores all persistent data:
/data/logos - Channel logos
/data/recordings - Recorded streams
/data/uploads/m3us - Uploaded M3U playlists
/data/uploads/epgs - Uploaded EPG files
/data/m3us - Processed M3U files
/data/epgs - Processed EPG files
/data/plugins - Custom plugins
/data/db - SQLite database (AIO mode only)
Always back up the /data volume before upgrading or making major changes.
Hardware Acceleration
Intel/AMD GPU (VA-API)
For transcoding acceleration using Intel or AMD GPUs:
docker run -d \
-p 9191:9191 \
--name dispatcharr \
-v dispatcharr_data:/data \
--device /dev/dri:/dev/dri \
-e DISPATCHARR_ENV=aio \
ghcr.io/dispatcharr/dispatcharr:latest
NVIDIA GPU
For NVIDIA GPU support (requires NVIDIA Container Toolkit ):
docker run -d \
-p 9191:9191 \
--name dispatcharr \
-v dispatcharr_data:/data \
--gpus all \
-e DISPATCHARR_ENV=aio \
ghcr.io/dispatcharr/dispatcharr:latest
NVIDIA GPU support requires the NVIDIA Container Toolkit to be installed on your host system.
Process Priority Configuration
Optimize performance by adjusting process priorities:
docker run -d \
-p 9191:9191 \
--name dispatcharr \
-v dispatcharr_data:/data \
--cap-add SYS_NICE \
-e DISPATCHARR_ENV=aio \
-e UWSGI_NICE_LEVEL= -5 \
-e CELERY_NICE_LEVEL= 5 \
ghcr.io/dispatcharr/dispatcharr:latest
UWSGI_NICE_LEVEL=-5 : Higher priority for streaming and FFmpeg processes
CELERY_NICE_LEVEL=5 : Lower priority for background tasks (EPG updates, etc.)
Negative nice values require --cap-add SYS_NICE
Upgrading
Stop the running container
Pull the latest image
docker pull ghcr.io/dispatcharr/dispatcharr:latest
Start the new container
Use the same docker run command you used initially. Your data will be preserved in the volume.
Always back up your data volume before upgrading: docker run --rm -v dispatcharr_data:/data -v $( pwd ) :/backup \
alpine tar czf /backup/dispatcharr-backup.tar.gz /data
Troubleshooting
View Logs
For live log streaming:
docker logs -f dispatcharr
Container Won’t Start
Check if port is in use
Check Docker logs
Verify volume permissions
Legacy CPU Support
If you’re running on older hardware (pre-2010 CPUs), enable legacy NumPy:
docker run -d \
-p 9191:9191 \
--name dispatcharr \
-v dispatcharr_data:/data \
-e DISPATCHARR_ENV=aio \
-e USE_LEGACY_NUMPY= true \
ghcr.io/dispatcharr/dispatcharr:latest
Reset to Default Configuration
If you need to start fresh:
# Stop and remove container
docker stop dispatcharr && docker rm dispatcharr
# Remove the data volume (WARNING: This deletes all data!)
docker volume rm dispatcharr_data
# Start a new container
docker run -d -p 9191:9191 --name dispatcharr \
-v dispatcharr_data:/data \
ghcr.io/dispatcharr/dispatcharr:latest
Next Steps