-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcompose.yaml
More file actions
77 lines (64 loc) · 2.79 KB
/
compose.yaml
File metadata and controls
77 lines (64 loc) · 2.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
name: dispatcharr
x-daemonless:
title: "Dispatcharr"
icon: ":material-television-play:"
category: "Media Management"
description: "Dispatcharr — stream dispatching and channel management."
upstream_url: "https://github.com/Dispatcharr/Dispatcharr"
web_url: "https://dispatcharr.io/"
freshports_url: ""
user: "bsd"
upstream_binary: false
mlock: false
community: "Discord:https://discord.gg/dispatcharr"
appjail: true
notes: |
> **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:
```sh
podman run --annotation 'org.freebsd.jail.allow.sysvipc=true' ...
```
**`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](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=285957), expected ~2027).
The rest of Dispatcharr is fully functional.
docs:
env:
DISPATCHARR_PORT: "Web UI port (default: 9191)"
POSTGRES_DB: "PostgreSQL database name (default: dispatcharr)"
POSTGRES_USER: "PostgreSQL username (default: dispatcharr)"
POSTGRES_PASSWORD: "PostgreSQL password (default: dispatcharr)"
DJANGO_SECRET_KEY: "Django secret key — auto-generated if not set, persisted to /data/secret_key"
REDIS_HOST: "Redis hostname (default: 127.0.0.1)"
REDIS_PORT: "Redis port (default: 6379)"
CELERY_NICE_LEVEL: "niceness for Celery workers (default: 5)"
DISABLE_ML_DOWNLOADS: "Set false to enable ML channel matching (requires torch — not available in this build)"
TZ: "Timezone (e.g. America/New_York)"
volumes:
/data: "Persistent data — PostgreSQL cluster, media, backups, logos"
ports:
9191: "Web UI"
services:
dispatcharr:
image: ghcr.io/daemonless/dispatcharr:latest
container_name: dispatcharr
restart: unless-stopped
annotations:
org.freebsd.jail.allow.sysvipc: "true"
environment:
- TZ=UTC
- POSTGRES_DB=dispatcharr
- POSTGRES_USER=dispatcharr
- POSTGRES_PASSWORD=dispatcharr
- CELERY_NICE_LEVEL=5
volumes:
- /containers/dispatcharr:/data
ports:
- 9191:9191