[Unit] # Instance d'agent PhotoSync ISOLEE (Modele C : 1 agent par compte NAS). # %i = nom d'instance (ex: 'alexia' -> photosync-agent@alexia). # Le code (server.js) est PARTAGE et INCHANGE ; seul l'EnvironmentFile differe. # safeJoin confine deja chaque instance a sa NAS_ROOT -> une instance ne peut PAS # voir les dossiers d'une autre. Isolation renforcee : le partage NAS est monte # avec le compte QNAP de l'utilisateur (droits natifs QNAP, 2e barriere). Description=PhotoSync agent (instance %i) — un compte NAS isole After=network-online.target Wants=network-online.target [Service] Type=simple User=taaazzz WorkingDirectory=/home/taaazzz/photosync-agent # Par-instance : NAS_ROOT (sa sous-racine), PHOTOSYNC_TOKEN, PORT, PHOTOSYNC_DEFAULT_SHARE. # Cree par tools/add-photosync-user.sh, en 600 root (token jamais lisible par tous). EnvironmentFile=/etc/photosync-agent.%i.env ExecStart=/usr/bin/node /home/taaazzz/photosync-agent/server.js Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target