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
32
infra/peertube-workers/systemd/pt-worker-netprobe.service
Normal file
32
infra/peertube-workers/systemd/pt-worker-netprobe.service
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
[Unit]
|
||||
Description=Bounded PeerTube worker throughput probe (Tailscale only)
|
||||
After=tailscaled.service network-online.target
|
||||
Wants=tailscaled.service network-online.target
|
||||
StartLimitIntervalSec=300
|
||||
StartLimitBurst=10
|
||||
|
||||
[Service]
|
||||
Type=notify
|
||||
NotifyAccess=main
|
||||
TimeoutStartSec=45
|
||||
User=pt-netprobe
|
||||
Group=pt-netprobe
|
||||
ExecStart=/usr/bin/python3 /opt/pt-worker-netprobe/bandwidth-probe.py --bind 100.92.231.98 --port 9044
|
||||
Restart=always
|
||||
RestartSec=30
|
||||
NoNewPrivileges=true
|
||||
ProtectSystem=strict
|
||||
ProtectHome=true
|
||||
PrivateTmp=true
|
||||
PrivateDevices=true
|
||||
ProtectKernelTunables=true
|
||||
ProtectKernelModules=true
|
||||
ProtectControlGroups=true
|
||||
CapabilityBoundingSet=
|
||||
RestrictAddressFamilies=AF_INET AF_UNIX
|
||||
MemoryMax=96M
|
||||
TasksMax=16
|
||||
CPUQuota=20%
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
37
infra/peertube-workers/systemd/pt-worker.service
Normal file
37
infra/peertube-workers/systemd/pt-worker.service
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
[Unit]
|
||||
Description=PeerTube VOD runner with hardware and network admission
|
||||
Wants=network-online.target tailscaled.service
|
||||
After=network-online.target tailscaled.service
|
||||
StartLimitIntervalSec=300
|
||||
StartLimitBurst=10
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=pt-worker
|
||||
Group=pt-worker
|
||||
Environment=HOME=/var/lib/pt-worker
|
||||
Environment=PATH=/opt/pt-worker/node/bin:/usr/local/bin:/usr/bin:/bin
|
||||
Environment=PT_STATE_DIR=/var/lib/pt-worker/state
|
||||
Environment=PT_WORKER_CONFIG=/etc/pt-worker/worker.json
|
||||
UMask=0077
|
||||
ExecStart=/usr/bin/python3 /opt/pt-worker/pt-worker.py daemon
|
||||
Restart=always
|
||||
RestartSec=30
|
||||
# Controller uses runner graceful-shutdown; do not send SIGTERM to FFmpeg on initial stop.
|
||||
KillMode=mixed
|
||||
TimeoutStopSec=infinity
|
||||
NoNewPrivileges=true
|
||||
ProtectSystem=strict
|
||||
ProtectHome=true
|
||||
ReadWritePaths=/var/lib/pt-worker
|
||||
PrivateTmp=true
|
||||
ProtectKernelTunables=true
|
||||
ProtectKernelModules=true
|
||||
ProtectControlGroups=true
|
||||
RestrictSUIDSGID=true
|
||||
LockPersonality=true
|
||||
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 AF_NETLINK
|
||||
CapabilityBoundingSet=
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Loading…
Add table
Add a link
Reference in a new issue