[Unit]
Description=Mobilizon Service
After=network.target postgresql.service

[Service]
User=mobilizon
WorkingDirectory=/opt/mobilizon
ExecStart=/opt/mobilizon/bin/mobilizon start
ExecStop=/opt/mobilizon/bin/mobilizon stop
KillMode=process
Restart=on-failure
Environment=MIX_ENV=prod

SyslogIdentifier=mobilizon

; Some security directives.
; Use private /tmp and /var/tmp folders inside a new file system namespace, which are discarded after the process stops.
PrivateTmp=true
; Mount /usr, /boot, and /etc as read-only for processes invoked by this service.
ProtectSystem=full
; Sets up a new /dev mount for the process and only adds API pseudo devices like /dev/null, /dev/zero or /dev/random but not physical devices. Disabled by default because it may not work on devices like the Raspberry Pi.
PrivateDevices=false
; Ensures that the service process and all its children can never gain new privileges through execve().
NoNewPrivileges=true


[Install]
WantedBy=multi-user.target