Шаблоны для подсистемы Systemd
Автор - Ковалев Антон
Дата последнего редактирования - 12.07.2024
Подробнее с подсистемой systemd, можно ознакомиться на данной странице.
* Отредактируйте шаблон в соответствии с вашими настройками перед запуском службы!
Для скачивания файлов можно воспользоваться командами
GitFlic
curl -O "https://gitflic.ru/project/kovalevaa/utils/blob/raw?file=systemd/gitflic.service"
Агент GitFlic Runner
curl -O "https://gitflic.ru/project/kovalevaa/utils/blob/raw?file=systemd/gfagent.service"
GitFlic
[Unit]
Description=Startup unit for run Gitflic service
Documentation=https://docs.gitflic.space/
After=network.target
[Service]
Type=simple
User=gitflic
Group=gitflic
WorkingDirectory=/opt/gitflic/
ExecStart=/usr/bin/java -jar /opt/gitflic/bin/gitflic.jar --spring.config.additional-location=file:/etc/gitflic/
ExecStop=/bin/kill -s 15 $MAINPID
Restart=on-failure
RestartSec=30
[Install]
WantedBy=multi-user.target
Агент GitfFlic Runner
[Unit]
Description=Gitflic-runner
After=gitflic.service
Requires=gitflic.service
[Service]
User=gitflic-agent
Group=gitflic-agent
WorkingDirectory=/home/gitflic-agent/gitflic-runner
ExecStart=/usr/bin/java -jar runner.jar start --config=config/application.properties
ExecStop=/bin/kill -s 15 $MAINPID
StandardOutput=journal
StandardError=journal
Restart=on-failure
RestartSec=10
TimeoutStartSec=2min
[Install]
WantedBy=multi-user.target
Краткое описание файлов шаблонов юнитов systemd
Юниты systemd, по умолчанию, располагаются в трех директориях:
/usr/lib/systemd/system/
– юниты, установленные с помощью пакетов RPM, DEB/run/systemd/system/
— юниты, созданные в рантайме /etc/systemd/system/
— юниты, созданные системным администратором
[Unit] - Декларация модуля и его свойства
Description
- Описание модуляAfter
- Запуск модуля после запуска определенных службRequires
- Указание что для запуска сервиса необходим другой запущенный сервисWants
- Декларация что для запуска сервиса необходим другой запущенный сервисDocumentation
- Источник Документация к сервису
[Service] - Указание какими командами и под каким пользователем надо запускать сервис
Type
- Тип сервисаWorkingDirectory
- Установка рабочего каталога, он делается текущим перед запуском стартап командUser
- Пользователь , под которым надо стартовать сервисGroup
- Группа, под которым надо стартовать сервисEnvironment
- Переменные окруженияExecStart
- Команда для запуска сервисаExecStop
- Команда для остановки сервисаRestart
- Указание, стратегии перезапуска сервисаRestartSec
- Время ожидания перед повторным запуском службы в секундахStandardOutput
- Указание, куда перенаправлять стандартный поток выводаStandardError
- Указание, куда перенаправлять поток ошибокTimeoutStartSec
- Таймаут перед запуском службы
[Install] - Описание уровня запуска сервиса
WantedBy
- Указание уровня запуска