script de init para alpine não funciona

1

Estou tentando escrever um script de inicialização para gitea em alpine. O primeiro código que tentei foi

#!/sbin/openrc-run
command=/usr/bin/gitea

command_args="web"
pidfile=/var/run/git.pid
name="Gitea Daemon"

description="Gitea - Git with a cup of tea"

start() {
  ebegin "Starting Gitea"
  start-stop-daemon --start --exec /usr/bin/gitea \
    --pidfile /var/run/git.pid 
  eend $?
}

stop() {
  ebegin "Stopping Gitea"
  start-stop-daemon --stop --exec /usr/bin/gitea \
    --pidfile /var/run/git.pid
  eend $?
}

O Gitea não bifurca, portanto, ao executar o código acima, o serviço está iniciando e executando, mas permanece em primeiro plano. Então, tentei adicionar a opção --background a start-stop-daemon . Agora ele está bifurcando, mas o serviço é exibido como "travado", embora esteja em execução. Posso corrigir isso criando manualmente um arquivo git.pid , caso contrário, o serviço ficará inutilizável (não será iniciado nem interrompido) até que eu remova /var/run/openrc/started/git manualmente.

Ao usar o código acima e chamá-lo em segundo plano por

rc-service git start &

Ele irá iniciar o gitea, mas rc-status mostra o serviço como "inicial".

Além disso, não consegui registrar a saída. Talvez alguém possa me dar uma dica sobre isso. Tentei adicionar um redirecionamento a command_args , mas isso não funcionou e um redirecionamento da saída de start-stop-daemon é inútil quando executado em segundo plano.

    
por karlsebal 19.10.2018 / 14:55

0 respostas