Systemd service для Ghost

Довольно стандартный файл конфигурации. Какие-то хитрые возможности systemd не используются. Тип демона simple. Запускается от имени пользователя ghost и группы ghost. Движок Ghost расположен в директории /var/www/ghost.

Некоторые пункты:

  • Restart=always - нужен для того, чтобы если движок Ghost упадёт, то systemd перезапустил его
  • RuntimeDirectory=ghost - создать в директории /run/ папку ghost. Туда же поместил pid файл PIDFile=/run/ghost/pid. Удобная опция, так как у меня Ghost настроен на работу через unix socket, о чём расскажу в другом посте.
  • PrivateTmp=true - сделать временные файлы, которые создаются Ghost видимыми только для него, остальные процессы ничего не будут знать о них. Добавил на всякий случай.

Файл /etc/systemd/system/ghost.service:

[Unit]
Description=Ghost blog
After=network.target

[Service]
Type=simple
PIDFile=/run/ghost/pid
WorkingDirectory=/var/www/ghost
RuntimeDirectory=ghost
User=ghost
Group=ghost
ExecStart=/usr/bin/npm start --production /var/www/ghost
ExecStop=/usr/bin/npm stop /var/www/ghost
Restart=always
SyslogIdentifier=ghost
Environment=NODE_ENV=production
StandardOutput=syslog
StandardError=syslog
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Запуск:

$ systemctl daemon-reload
$ systemctl enable ghost
$ systemctl start ghost

Comments

comments powered by Disqus