Как добавить новый сервис в systemd/systemctl и запускать его при старте Ubuntu
Задача
Есть docker-compose файл, поднимающий Zabbix. Есть небольшая обёртка в виде Makefile, которая позволяет запускать и останавливать docker-compose. Нужно добавить запуск этой команды при старте/рестарте системы.
Дано
Всё лежит в `/var/www/zabbix-server/`.
Содержание файла Makefile:
...
docker-up:
docker-compose up -d
docker-down:
docker-compose stop
Решение
- Создать новый файл `vim /etc/systemd/system/zabbix.service`.
[Unit]
Description=Run Zabbix Docker Containers on Startup
[Service]
RemainAfterExit=True
Restart=always
RestartSec=1
WorkingDirectory=/var/www/zabbix-server
ExecStart=/usr/bin/make docker-up
ExecStop=/usr/bin/make docker-down
[Install]
WantedBy=default.target
- chmod 644 /etc/systemd/system/zabbix.service
- systemctl enable zabbix.service
- systemctl start zabbix.service