April 23, 2019

Ghostの起動スクリプト(OpenRC)

サーバのOSをUbuntuからAlpine Linuxに変えた際のメモ

Ghost自体は ghost-cli で構築

OpenRCの起動スクリプト:

#!/sbin/openrc-run

environment="production"
description="Ghost blogging platform"
extra_started_commands=""
extra_stopped_commands=""

ghost_root="/var/www/ghost"
pidfile="/run/ghost.pid"
command=/usr/bin/node
ghost_group=ghost
ghost_user=ghost
cfgfile="$ghost_root/config.production.json"
idxfile="$ghost_root/current/index.js"
command_args="$idxfile"
required_dirs="$ghost_root"
required_files="$cfgfile $idxfile"

depend() {
   need net nginx
   use logger
   #want
   #before
   #after
   #provide
   #keyword
}

start_pre()
{
   checkpath --directory --owner $ghost_user:$ghost_group --mode 0755 $ghost_root
   
}

start() {
   ebegin "Starting $description"
   start-stop-daemon --start \
      --user $ghost_user --group $ghost_group \
      --chdir $ghost_root \
      --make-pidfile --pidfile $pidfile \
      --background \
      --exec env NODE_ENV=$environment $command -- $command_args > /dev/null
   eend $?
}

stop() {
   ebegin "Stopping $description"
   start-stop-daemon --stop \
      --pidfile $pidfile \
      --exec $command
   eend $?
}

OS起動時に起動するように登録:

$ sudo rc-update add ghost