35 lines
1.2 KiB
Desktop File
35 lines
1.2 KiB
Desktop File
[Unit]
|
|
# Description is a human-readable name for the service.
|
|
Description=Gardomatic API service
|
|
|
|
# Wait until PostgreSQL is running and the network is "up" before starting the service.
|
|
After=postgresql.service
|
|
After=network-online.target
|
|
Wants=network-online.target
|
|
|
|
# Configure service start rate limiting. If the service is (re)started more than 5 times
|
|
# in 600 seconds then don't permit it to start anymore.
|
|
StartLimitIntervalSec=600
|
|
StartLimitBurst=5
|
|
|
|
[Service]
|
|
# Execute the API binary as the gardomatic user, loading its dedicated environment file
|
|
# and using its writable state directory.
|
|
Type=exec
|
|
User=gardomatic
|
|
Group=gardomatic
|
|
EnvironmentFile=/etc/gardomatic/gardomatic.env
|
|
WorkingDirectory=/var/lib/gardomatic
|
|
ExecStart=/usr/local/bin/gardomatic-api
|
|
|
|
# Automatically restart the service after a 5-second wait if it exits with a non-zero
|
|
# exit code. If it restarts more than 5 times in 600 seconds, then the rate limit we
|
|
# configured above will be hit and it won't be restarted anymore.
|
|
Restart=on-failure
|
|
RestartSec=5
|
|
|
|
[Install]
|
|
# Start the service automatically at boot time (the 'multi-user.target' describes a boot
|
|
# state when the system will accept logins).
|
|
WantedBy=multi-user.target
|