Service files: Difference between revisions
No edit summary |
|||
| Line 22: | Line 22: | ||
</pre> | </pre> | ||
Here is an example: | |||
<pre> | |||
[Unit] | |||
Description=An example of a fieldwork-tool made in flask | |||
After=network.target | |||
[Service] | |||
User=manetta | |||
WorkingDirectory=/var/www/html/SI30/fieldwork-tools/example/ | |||
ExecStart=/var/www/html/SI30/fieldwork-tools/example/.venv/bin/flask --app observations run --port 5100 | |||
Restart=always | |||
[Install] | |||
WantedBy=multi-user.target | |||
</pre> | |||
When the service file is new or changed, you need (one time) to: | When the service file is new or changed, you need (one time) to: | ||
Revision as of 12:30, 10 April 2026
Making a systemd service file
See: https://blog.miguelgrinberg.com/post/running-a-flask-application-as-a-service-with-systemd
Useful: https://containersolutions.github.io/runbooks/posts/linux/debug-systemd-service-units/
$ sudo nano /etc/systemd/system/myflaskapp.service
[Unit] Description=<a description of your application> After=network.target [Service] User=<username> WorkingDirectory=<path to your app> ExecStart=<app start command> Restart=always [Install] WantedBy=multi-user.target
Here is an example:
[Unit] Description=An example of a fieldwork-tool made in flask After=network.target [Service] User=manetta WorkingDirectory=/var/www/html/SI30/fieldwork-tools/example/ ExecStart=/var/www/html/SI30/fieldwork-tools/example/.venv/bin/flask --app observations run --port 5100 Restart=always [Install] WantedBy=multi-user.target
When the service file is new or changed, you need (one time) to:
$ sudo systemctl daemon-reload
Then you can:
$ sudo systemctl start myflaskapp $ sudo systemctl status myflaskapp $ sudo systemctl restart myflaskapp $ sudo systemctl stop myflaskapp
Then finally when you see that start works (checking status, checking that it actually is running , etc)
$ sudo systemctl enable myflaskapp
Will make the "service" auto start when the pi restarts.
To view the log file (errors):
$ sudo journalctl -u myflaskapp -f
You can find documentation here:
https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html