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.
Tags openrc alpine-linux