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/peertube/.env.example
Normal file
42
infra/peertube/.env.example
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
# === Copy to .env on the PeerTube server and fill in ===
|
||||
PEERTUBE_WEBSERVER_HOSTNAME=peertube.example.com
|
||||
PEERTUBE_WEBSERVER_PORT=443
|
||||
PEERTUBE_WEBSERVER_HTTPS=true
|
||||
|
||||
# Initial admin (set on first boot only)
|
||||
PEERTUBE_ADMIN_EMAIL=admin@example.com
|
||||
|
||||
# --- S3 object storage (REQUIRED per project decision) ---
|
||||
# Works with any S3-compatible endpoint: MinIO on the same server, another server, or a cloud provider.
|
||||
# Tactical Media Broadcast Hub's own media plane already speaks S3 (StorageService) — use the same bucket infra
|
||||
# but a DEDICATED bucket for PeerTube (e.g. tactical-media-broadcast-hub-peertube) with its own credentials.
|
||||
PEERTUBE_OBJECT_STORAGE_ENABLED=true
|
||||
PEERTUBE_OBJECT_STORAGE_WEB_ENDPOINT=https://s3.example.com
|
||||
PEERTUBE_OBJECT_STORAGE_WEB_REGION=us-east-1
|
||||
PEERTUBE_OBJECT_STORAGE_ACCESS_KEY_ID=CHANGEME
|
||||
PEERTUBE_OBJECT_STORAGE_SECRET_ACCESS_KEY=CHANGEME
|
||||
PEERTUBE_OBJECT_STORAGE_VIDEOS_BUCKET=tactical-media-broadcast-hub-peertube-videos
|
||||
PEERTUBE_OBJECT_STORAGE_STREAMING_PLAYLISTS_BUCKET=tactical-media-broadcast-hub-peertube-playlists
|
||||
PEERTUBE_OBJECT_STORAGE_REDUNDANCY_BUCKET=tactical-media-broadcast-hub-peertube-redundancy
|
||||
# Same credentials/endpoint config repeated for the internal (non-web) endpoints if different:
|
||||
# PEERTUBE_OBJECT_STORAGE_ENDPOINT=...
|
||||
|
||||
# --- Livestreaming (fed by the Tactical Media Broadcast Hub compositor via RTMP) ---
|
||||
PEERTUBE_TRANSCODING_ENABLED=true
|
||||
PEERTUBE_LIVE_ENABLED=true
|
||||
PEERTUBE_LIVE_ALLOW_REPLAY=true
|
||||
PEERTUBE_LIVE_MAX_DURATION=-1
|
||||
PEERTUBE_LIVE_TRANSCODING_ENABLED=true
|
||||
PEERTUBE_LIVE_RTMP_PORT=1935
|
||||
|
||||
# --- Database (use the container's postgres or point at your own) ---
|
||||
PEERTUBE_DB_USERNAME=peertube
|
||||
PEERTUBE_DB_PASSWORD=CHANGEME
|
||||
PEERTUBE_DB_HOSTNAME=postgres
|
||||
# For an external DB, add a postgres service or set PEERTUBE_DB_HOSTNAME to the server.
|
||||
|
||||
# --- Federation ---
|
||||
PEERTUBE_FEDERATION_ENABLED=true
|
||||
|
||||
# --- Trust the Tactical Media Broadcast Hub API server for connector/bridge calls ---
|
||||
PEERTUBE_TRUST_PROXY=127.0.0.1,::1
|
||||
Loading…
Add table
Add a link
Reference in a new issue