Примеры unit-файлов systemd
Как запустить своё приложение службой: готовые файлы, которые можно скопировать, и объяснение, зачем каждая строка.
- Unit-файл для Python
Готовые unit-файлы systemd для Python: веб-приложение на gunicorn, бот или скрипт из виртуального окружения. Пользователь, каталог, переменные, логи. - Unit-файл для Node.js
Как запустить Node.js-приложение службой systemd вместо pm2: готовый unit-файл, путь к node из nvm, переменные окружения, перезапуск и логи. - Unit-файл для Java
Готовый unit-файл для Spring Boot и любого jar: память JVM, корректная остановка, код 143 при SIGTERM, пользователь и рабочий каталог. - Type= и Restart= в systemd
Таблицы значений Type= (simple, exec, forking, oneshot, notify) и Restart= (on-failure, always и др.) с примерами, когда какое ставить. - Защита службы systemd
Набор параметров, которые закрывают службе доступ к лишнему: ProtectSystem, ProtectHome, PrivateTmp, NoNewPrivileges. Оценка через systemd-analyze security.
Свой файл перед запуском удобно прогнать через systemd-analyze verify или через
онлайн-проверку unit-файла — она отдельно покажет ошибки и предупреждения.