Шаблоны для подсистемы Systemd
Автор - Ковалев Антон Дата последнего редактирования - 12.07.2024
Подробнее с подсистемой systemd, можно ознакомиться на данной странице.
* Отредактируйте шаблон в соответствии с вашими настройками перед запуском службы!
Для скачивания файлов можно воспользоваться командами
GitFlic
curl -O "https://gitflic.ru/project/kovalevaa/utils/blob/raw?file=systemd/gitflic.service"
curl -O "https://gitflic.ru/project/kovalevaa/utils/blob/raw?file=systemd/gfagent.service"
GitFlic
Модуль gitflic.service
[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
Модуль gfagent.service
[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
- Указание уровня запуска