У меня есть приложение Go, и я пытаюсь запустить его как сервис systemctl
(Ubuntu 18.04).
Я использую godotenv :
func init() {
var env map[string]string
env, err := godotenv.Read()
if err != nil {
panic(err)
}
}
У меня есть .env
файл в том же каталоге, где находится мой исполняемый файл.
Я создал service
файл:
[Unit]
Description=my go app
Requires=local-fs.target
After=rsyslog.service
[Service]
Type=forking
GuessMainPID=no
StandardInput=null
ExecStart=/var/path/to/my/app/main
[Install]
WantedBy=default.target
После выполнения sudo systemctl start my-go-app.service
, затем sudo systemctl status my-go-app.service
, я получил их в своих журналах:
Запуск my-go-app ...
паника: открыть .env: нет такого файла или каталога
Что не так?
При непосредственном выполнении main
таких проблем нет.