first commit
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
# =============================================================================
|
||||
# photobooth-app.service - Service systemd pour photobooth-app
|
||||
# =============================================================================
|
||||
# Installation:
|
||||
# cp photobooth-app.service ~/.config/systemd/user/
|
||||
# systemctl --user daemon-reload
|
||||
# systemctl --user enable photobooth-app
|
||||
# systemctl --user start photobooth-app
|
||||
#
|
||||
# Logs:
|
||||
# journalctl --user --unit=photobooth-app -f
|
||||
# =============================================================================
|
||||
|
||||
[Unit]
|
||||
Description=Photobooth App - Photomaton
|
||||
After=network.target cups.service
|
||||
Wants=cups.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
WorkingDirectory=%h/photobooth-data
|
||||
ExecStart=%h/.local/bin/photobooth
|
||||
# Alternative si installe dans un venv:
|
||||
# ExecStart=%h/photobooth-venv/bin/photobooth
|
||||
|
||||
# --- Redemarrage automatique robuste ---
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
# Nombre max de redemarrages en 60 secondes
|
||||
StartLimitIntervalSec=300
|
||||
StartLimitBurst=5
|
||||
|
||||
# --- Limites memoire (protection contre les fuites) ---
|
||||
# Limite douce: avertissement a 1.2 Go
|
||||
MemoryHigh=1200M
|
||||
# Limite dure: kill a 1.5 Go (laisser de la RAM pour le systeme)
|
||||
MemoryMax=1500M
|
||||
# Limite swap
|
||||
MemorySwapMax=512M
|
||||
|
||||
# --- Watchdog integre ---
|
||||
WatchdogSec=120
|
||||
# Si le watchdog ne recoit pas de signal, redemarrer
|
||||
WatchdogSignal=SIGKILL
|
||||
|
||||
# --- Environnement ---
|
||||
Environment=PYTHONUNBUFFERED=1
|
||||
Environment=HOME=%h
|
||||
|
||||
# --- Securite ---
|
||||
NoNewPrivileges=true
|
||||
ProtectSystem=strict
|
||||
ReadWritePaths=%h/photobooth-data
|
||||
ReadWritePaths=%h/.config
|
||||
ReadWritePaths=/tmp
|
||||
|
||||
# --- Nettoyage propre ---
|
||||
ExecStopPost=/bin/bash -c 'sleep 2'
|
||||
KillMode=mixed
|
||||
TimeoutStopSec=30
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
||||
Reference in New Issue
Block a user