I have a Go app, and I'm trying to run it as a systemctl
service (Ubuntu 18.04).
I'm using godotenv:
func init() {
var env map[string]string
env, err := godotenv.Read()
if err != nil {
panic(err)
}
}
I have my .env
file in the same directory where my executable is.
I've created a service
file:
[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
After executing sudo systemctl start my-go-app.service
, then sudo systemctl status my-go-app.service
, I got these in my logs:
Starting my-go-app...
panic: open .env: no such file or directory
What's wrong?
While executing main
directly, there are no such problems.