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/.
52 lines
1.5 KiB
YAML
52 lines
1.5 KiB
YAML
# occupymedia.cc — TUBE CT (occ-tube, CT 151, tailscale 100.92.231.98)
|
|
# PeerTube plane: peertube + dedicated postgres + redis + postfix relay.
|
|
# Day 1: local storage on the CT volume (500G thin). Flip to R2 by setting
|
|
# PEERTUBE_OBJECT_STORAGE_ENABLED=true + keys in peertube.env, then recreate.
|
|
|
|
name: occ-tube
|
|
|
|
services:
|
|
peertube-postgres:
|
|
image: postgres:16-alpine
|
|
environment:
|
|
POSTGRES_USER: peertube
|
|
POSTGRES_PASSWORD: ${PEERTUBE_DB_PASSWORD:?}
|
|
POSTGRES_DB: peertube
|
|
volumes: [peertube_pgdata:/var/lib/postgresql/data]
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U peertube"]
|
|
interval: 5s
|
|
retries: 10
|
|
restart: unless-stopped
|
|
|
|
peertube-redis:
|
|
image: redis:7-alpine
|
|
restart: unless-stopped
|
|
|
|
postfix:
|
|
image: mwader/postfix-relay
|
|
environment:
|
|
- POSTFIX_myhostname=tube.occupymedia.cc
|
|
restart: unless-stopped
|
|
|
|
peertube:
|
|
image: chocobozzz/peertube:production-bookworm
|
|
env_file: peertube.env
|
|
ports:
|
|
- "9000:9000" # tunnel: tube.occupymedia.cc → 100.92.231.98:9000
|
|
- "1935:1935" # RTMP ingest from media-worker (cross-CT via tailscale)
|
|
volumes:
|
|
- peertube_config:/app/config
|
|
- peertube_assets:/app/storage/client-overrides
|
|
- peertube_data:/app/storage
|
|
depends_on:
|
|
peertube-postgres: { condition: service_healthy }
|
|
peertube-redis: { condition: service_started }
|
|
postfix: { condition: service_started }
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
peertube_pgdata:
|
|
peertube_config:
|
|
peertube_assets:
|
|
peertube_data:
|