T-HUB/infra/peertube/docker-compose.yml
glass beadian aa5e262f3a Tactical Media Broadcast Hub — initial release
Self-hosted multi-platform broadcast newsroom for activist collectives:
publishing pipeline with group approval and DST-proof scheduling, TweetDeck-style
column wall with hostile-content-safe rendering, live control room with Auto
Director, bridged chat governance with polls and quorum, distributed sandboxed
transcode workers, encrypted content-addressed archive, monthly analytics.

MIT licensed. See README.md and docs/.
2026-10-10 11:56:42 +00:00

33 lines
1.1 KiB
YAML

# PeerTube instance for Tactical Media Broadcast Hub — DESIGNED TO RUN ON A DIFFERENT SERVER.
# Deploy: copy this directory to the media server, create .env from .env.example, then `docker compose up -d`.
# Docs: docs/peertube-setup.md (S3, branding sync, connector bridge, livechat)
services:
peertube:
image: chocobozzz/peertube:production-bookworm
# Pin to a specific tag in production, e.g. chocobozzz/peertube:v7.x
env_file: .env
ports:
- "80:9000" # put behind your reverse proxy (nginx/caddy) with HTTPS
- "1935:1935" # RTMP ingest — the Tactical Media Broadcast Hub media worker pushes live here
volumes:
- peertube_assets:/app/storage/client-overrides # custom logo/emoji live here too, but BRAND SYNC via API is canonical
- peertube_config:/app/config
depends_on:
- redis
- postfix
restart: unless-stopped
redis:
image: redis:7-alpine
restart: unless-stopped
postfix:
image: mwader/postfix-relay
environment:
- POSTFIX_myhostname=${PEERTUBE_WEBSERVER_HOSTNAME}
restart: unless-stopped
volumes:
peertube_assets:
peertube_config: