gitea
알파인용 초기화 스크립트를 작성 하려고 합니다 . 내가 시도한 첫 번째 코드는
#!/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 $?
}
Gitea는 포크하지 않으므로 위 코드를 실행할 때 서비스는 실행 중이지만 여전히 포그라운드에 있습니다. 그래서 --background
옵션을 추가해 보았습니다 start-stop-daemon
. 이제는 포크되고 있지만 서비스가 실행 중인데도 "충돌"된 것으로 표시됩니다. 파일을 수동으로 생성하여 이 문제를 해결할 수 있었습니다 git.pid
. 그렇지 않으면 수동으로 삭제할 때까지 서비스를 사용할 수 없습니다(시작 또는 중지되지 않음) /var/run/openrc/started/git
.
위 코드를 사용하여 백그라운드에서 호출할 때
rc-service git start &
gitea가 시작되지만 rc-status
서비스가 "시작 중"으로 표시됩니다.
또한 출력 기록이 완료되지 않았습니다. 어쩌면 누군가 나에게 몇 가지 팁을 줄 수도 있습니다. 리디렉션을 추가하려고 시도했지만 command_args
작동하지 않았고 백그라운드에서 실행할 때 start-stop-daemon의 출력 리디렉션이 쓸모가 없었습니다.
답변1
이것은 작동합니다 (gitea-openrc와 함께 제공):
#!/sbin/openrc-run
supervisor=supervise-daemon
name=gitea
command="/usr/bin/gitea"
command_user="${GITEA_USER:-gitea}"
command_args="web --config '${GITEA_CONF:-/etc/gitea/app.ini}'"
supervise_daemon_args="--env GITEA_WORK_DIR='${GITEA_WORK_DIR:-/var/lib/gitea}' --chdir '${GITEA_WORK_DIR:-/var/lib/gitea}' --stdout '${GITEA_LOG_FILE:-/var/log/gitea/http.log}' --stderr '${GITEA_LOG_FILE:-/var/log/gitea/http.log}'"
pidfile="/run/gitea.pid"
depend() {
use logger dns
need net
after firewall mysql postgresql
}
스크립트를 계속 사용하려면 끝에 "&"를 넣지 말고 로그 출력을 게시하세요.
.: 프란시스코