I am trying to create a Golang server using the gin framework on ubuntu. It works fine when it is executed in the terminal after building it with go build and equally works well locally.
Systemd
JavaScript
x
Description=goapp
[Service]
Type=simple
Restart=always
RestartSec=5s
ExecStart=/home//goapp/main
[Install]
WantedBy=multi-user.target
I got this error
JavaScript
goapp.service - rediate
Loaded: loaded (/lib/systemd/system/goapp.service; disabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Thu 2022-09-29 08:14:10 UTC; 66ms ago
Process: 21628
ExecStart=/home//go/goapp/main (code=exited, status=2)
Main PID: 21628 (code=exited, status=2)
CPU: 9ms
Advertisement
Answer
Adding a working directory to the systemd fix this error.
JavaScript
Description=goapp
[Service]
Type=simple
Restart=always
RestartSec=
WorkingDirectory=/home//goapp
ExecStart=/home//goapp/main
[Install]
WantedBy=multi-user.target