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/.
This commit is contained in:
commit
aa5e262f3a
880 changed files with 111042 additions and 0 deletions
42
infra/occupymedia/peertube.env
Normal file
42
infra/occupymedia/peertube.env
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
# PeerTube production config — occupymedia.cc (used as env_file by docker-compose.yml)
|
||||
# Image: chocobozzz/peertube:production-bookworm. Pin to a version tag at first deploy.
|
||||
|
||||
PEERTUBE_WEBSERVER_HOSTNAME=tube.occupymedia.cc
|
||||
PEERTUBE_WEBSERVER_PORT=443
|
||||
PEERTUBE_WEBSERVER_HTTPS=true
|
||||
PEERTUBE_TRUST_PROXY=true
|
||||
|
||||
# First boot: the entrypoint generates the admin user with a random password,
|
||||
# printed once in the logs: `docker compose logs peertube | grep -A2 'user root'`.
|
||||
# Change it immediately, then enable the Tactical Media Broadcast Hub connector bridge.
|
||||
|
||||
# --- database (dedicated peertube-postgres service) ---
|
||||
PEERTUBE_DB_HOSTNAME=peertube-postgres
|
||||
PEERTUBE_DB_USERNAME=peertube
|
||||
PEERTUBE_DB_PASSWORD=<set-same-as-below>
|
||||
POSTGRES_USER=peertube
|
||||
POSTGRES_PASSWORD=<set-same-as-above>
|
||||
POSTGRES_DB=peertube
|
||||
|
||||
# --- object storage on R2 (zero egress) ---
|
||||
PEERTUBE_OBJECT_STORAGE_ENABLED=true
|
||||
PEERTUBE_OBJECT_STORAGE_ENDPOINT=https://e50adafec3c6aee02a328f28b967f699.r2.cloudflarestorage.com
|
||||
PEERTUBE_OBJECT_STORAGE_REGION=auto
|
||||
PEERTUBE_OBJECT_STORAGE_UPLOAD_ACL_PUBLIC_BUCKET=occupymedia-peertube-videos
|
||||
PEERTUBE_OBJECT_STORAGE_UPLOAD_ACL_PRIVATE_BUCKET=occupymedia-peertube-playlists
|
||||
PEERTUBE_OBJECT_STORAGE_CREDENTIALS_ACCESS_KEY=<R2_ACCESS_KEY>
|
||||
PEERTUBE_OBJECT_STORAGE_CREDENTIALS_SECRET_KEY=<R2_SECRET_KEY>
|
||||
# Videos are served through tube.occupymedia.cc (Cloudflare caches HLS segments);
|
||||
# keep proxied URL mode so playback keys stay server-controlled.
|
||||
PEERTUBE_OBJECT_STORAGE_PROXY=PRIVACY
|
||||
|
||||
# --- email via the postfix relay ---
|
||||
PEERTUBE_SMTP_HOSTNAME=postfix
|
||||
PEERTUBE_SMTP_PORT=25
|
||||
PEERTUBE_SMTP_FROM=noreply@tube.occupymedia.cc
|
||||
PEERTUBE_SMTP_TLS=false
|
||||
|
||||
# --- live (RTMP ingest from media-worker over the internal docker network) ---
|
||||
PEERTUBE_RTMP_PORT=1935
|
||||
PEERTUBE_LIVE_ENABLED=true
|
||||
PEERTUBE_LIVE_TRANSCODING_ENABLED=true
|
||||
Loading…
Add table
Add a link
Reference in a new issue