Пишем собственные systemd-юниты
Юнит-файл превращает любой скрипт или бинарник в управляемый сервис с автоперезапуском.
Команды и конфиги
[Unit]
Description=My app
After=network-online.target
[Service]
User=app
ExecStart=/opt/app/run
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now appНа что обратить внимание
Для проверки безопасности юнита используйте systemd-analyze security app.