Dispatcharr
| Description / name | Input element |
|---|---|
| Container Registry | |
| Container Configuration Root Path | |
| Timezone | |
| Dispatcharr Host Port | |
| Dispatcharr /data Path |
Dispatcharr — stream dispatching and channel management.
| Port | 9191 |
| Registry | ghcr.io/daemonless/dispatcharr |
| Source | https://github.com/Dispatcharr/Dispatcharr |
| Website | https://dispatcharr.io/ |
Version Tags
| Tag | Description | Best For |
|---|---|---|
latest |
FreeBSD Port. Built from latest FreeBSD packages. | Most users. Matches Linux Docker behavior. |
Root Privileges Required
Podman on FreeBSD currently requires root. All commands must be run as root (or via doas/sudo).
System V IPC Required
This application requires --annotation 'org.freebsd.jail.allow.sysvipc=true' for shared memory access (Requires patched ocijail).
Before deploying, ensure your host environment is ready. See the Quick Start Guide for host setup instructions.
Deployment
services:
dispatcharr:
image: ghcr.io/daemonless/dispatcharr:latest
container_name: dispatcharr
environment:
- TZ=UTC
- POSTGRES_DB=dispatcharr
- POSTGRES_USER=dispatcharr
- POSTGRES_PASSWORD=dispatcharr
- CELERY_NICE_LEVEL=5
volumes:
- "/path/to/containers/dispatcharr/data:/data"
ports:
- 9191:9191
annotations:
org.freebsd.jail.allow.sysvipc: "true"
restart: unless-stopped
.env:
DIRECTOR_PROJECT=dispatcharr
TZ=UTC
POSTGRES_DB=dispatcharr
POSTGRES_USER=dispatcharr
POSTGRES_PASSWORD=dispatcharr
CELERY_NICE_LEVEL=5
appjail-director.yml:
options:
- virtualnet: ':<random> default'
- nat:
services:
dispatcharr:
name: dispatcharr
options:
- container: 'boot args:--pull'
oci:
user: root
environment:
- TZ: !ENV '${TZ}'
- POSTGRES_DB: !ENV '${POSTGRES_DB}'
- POSTGRES_USER: !ENV '${POSTGRES_USER}'
- POSTGRES_PASSWORD: !ENV '${POSTGRES_PASSWORD}'
- CELERY_NICE_LEVEL: !ENV '${CELERY_NICE_LEVEL}'
volumes:
- DISPATCHARR_DATA_PATH: /data
volumes:
DISPATCHARR_DATA_PATH:
device: '/path/to/containers/dispatcharr/data'
Makejail:
podman run -d --name dispatcharr \
-p 9191:9191 \
--annotation 'org.freebsd.jail.allow.sysvipc=true' \
-e TZ=UTC \
-e POSTGRES_DB=dispatcharr \
-e POSTGRES_USER=dispatcharr \
-e POSTGRES_PASSWORD=dispatcharr \
-e CELERY_NICE_LEVEL=5 \
-v /path/to/containers/dispatcharr/data:/data \
ghcr.io/daemonless/dispatcharr:latest
- name: Deploy dispatcharr
containers.podman.podman_container:
name: dispatcharr
image: ghcr.io/daemonless/dispatcharr:latest
state: started
restart_policy: always
env:
TZ: "UTC"
POSTGRES_DB: "dispatcharr"
POSTGRES_USER: "dispatcharr"
POSTGRES_PASSWORD: "dispatcharr"
CELERY_NICE_LEVEL: "5"
ports:
- "9191:9191"
volumes:
- "/path/to/containers/dispatcharr/data:/data"
annotation:
org.freebsd.jail.allow.sysvipc: "true"
Access at: http://localhost:9191
Interactive Configuration
Parameters
Environment Variables
| Variable | Default | Description |
|---|---|---|
TZ |
UTC |
Timezone (e.g. America/New_York) |
POSTGRES_DB |
dispatcharr |
PostgreSQL database name (default: dispatcharr) |
POSTGRES_USER |
dispatcharr |
PostgreSQL username (default: dispatcharr) |
POSTGRES_PASSWORD |
dispatcharr |
PostgreSQL password (default: dispatcharr) |
CELERY_NICE_LEVEL |
5 |
niceness for Celery workers (default: 5) |
Volumes
| Path | Description |
|---|---|
/data |
Persistent data — PostgreSQL cluster, media, backups, logos |
Ports
| Port | Protocol | Description |
|---|---|---|
9191 |
TCP | Web UI |
Work in Progress: This is an all-in-one (AIO) image — PostgreSQL, Redis, Nginx, Celery, Daphne, and the Django app all run inside a single container.
First run: the container initialises a fresh PostgreSQL cluster under /data/postgres
and runs Django migrations automatically. This takes a few extra seconds on first start.
PostgreSQL requires allow.sysvipc in the jail. Add the annotation to your podman run
command or compose deploy block:
DJANGO_SECRET_KEY: if not provided, a random key is auto-generated on first start
and persisted to /data/secret_key. Set it explicitly if you need a stable key across
container recreations.
AI channel matching (torch / sentence-transformers) is not available in this build — PyTorch exists in FreeBSD ports but Python 3.13 support is not yet available (FreeBSD bug #285957, expected ~2027). The rest of Dispatcharr is fully functional.
Implementation Details
- Architectures: amd64
- User:
bsd(UID/GID set via PUID/PGID). Defaults to1000:1000. - Base: Built on
ghcr.io/daemonless/base(FreeBSD 15.0).
Need help? Join our Discord community.