secubox-deb/packages/secubox-peertube/debian/secubox-peertube.service
CyberMind-FR 2ec7cef1b2 feat(profiles): Phase 2 — Requires=secubox-core → Wants= on all units (remove hard cascade)
secubox-core.service is a Type=oneshot (mkdir+chown) that RemainAfterExit=yes. A hard
Requires= on ~108 units cascade-stops them all if core is restarted/fails (e.g. a
secubox-core package upgrade) — a thundering-herd outage. After= keeps the ordering;
Wants= keeps the soft dependency without the cascade. Prereq for mass native apply
(Phase 3). Scaffolds (new-module.sh/new-package.sh) updated so future units use Wants=.

Co-Authored-By: Gerald KERMA <devel@cybermind.fr>
2026-07-19 09:06:54 +02:00

28 lines
792 B
Desktop File

[Unit]
Description=SecuBox PeerTube API
After=network.target secubox-core.service
Wants=secubox-core.service
[Service]
Type=simple
User=secubox
Group=secubox
WorkingDirectory=/usr/lib/secubox/peertube
ExecStart=/usr/bin/python3 -m uvicorn api.main:app --uds /run/secubox/peertube.sock --log-level warning
Restart=on-failure
RestartSec=5
UMask=0000
# CSPN: the dashboard stays unprivileged. Cookie installs are spooled to
# /run/secubox/peertube-yt-cookies.txt and applied by the root-run
# peertube-cookie-install.path/.service (#407) — no sudo needed here.
NoNewPrivileges=true
RuntimeDirectory=secubox
RuntimeDirectoryPreserve=yes
RuntimeDirectoryMode=0775
ReadWritePaths=/run/secubox /var/lib/secubox /etc/secubox /var/log/secubox /data/peertube
[Install]
WantedBy=multi-user.target