# systemd unit example for a Voltro app on a Linux VPS.
#
# Copy to /etc/systemd/system/voltro-<appName>.service and adjust
# the paths + User + EnvironmentFile to match your install.
#
#   sudo cp deploy/voltro.service.example \
#     /etc/systemd/system/voltro-{{appName}}.service
#   sudo systemctl daemon-reload
#   sudo systemctl enable --now voltro-{{appName}}
#   sudo journalctl -u voltro-{{appName}} -f

[Unit]
Description=Voltro app: {{appName}}
After=network-online.target postgresql.service
Wants=network-online.target

[Service]
Type=simple
User=voltro
Group=voltro
WorkingDirectory=/opt/{{projectName}}/apps/{{appName}}
EnvironmentFile=/opt/{{projectName}}/apps/{{appName}}/.env
ExecStart=/usr/bin/pnpm voltro start .
Restart=on-failure
RestartSec=5
StandardOutput=journal
StandardError=journal

# Hardening — adjust as your host allows
NoNewPrivileges=true
ProtectSystem=strict
ProtectHome=true
ReadWritePaths=/opt/{{projectName}}

[Install]
WantedBy=multi-user.target
