# ============================================================================= # PenguinHarness systemd unit (for hosts with a real systemd) # # The unit delegates to scripts/penguin-service.sh in "run" (foreground) mode, # so node discovery, .env loading and the entry path are handled by the script # and only ONE path needs adjusting below: /path/to/penguin-harness # # Install: # sudo cp scripts/penguin-harness.service /etc/systemd/system/ # # sửa ExecStart nếu repo không nằm ở /home//penguin-harness # sudo systemctl daemon-reload # sudo systemctl enable --now penguin-harness # # The one-time seeded admin password is printed to the journal on first start # with an empty data root: # journalctl -u penguin-harness | grep "initial password" # ============================================================================= [Unit] Description=PenguinHarness web service (agent builder) Documentation=https://penguin.ooo/docs After=network-online.target Wants=network-online.target [Service] Type=simple # Run as the user that owns the repo and the data root (~/.penguin/data). User=locpham WorkingDirectory=/home/locpham/penguin-harness ExecStart=/home/locpham/penguin-harness/scripts/penguin-service.sh run Restart=on-failure RestartSec=3 TimeoutStopSec=15 # Console = journald: `journalctl -u penguin-harness -f` StandardOutput=journal StandardError=journal # Hardening (safe for this service) NoNewPrivileges=true [Install] WantedBy=multi-user.target