T-HUB/infra/peertube-workers/systemd/pt-worker.service
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

37 lines
1 KiB
Desktop File

[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