Boot

將 systemd 服務轉換為 OpenRC (Alpine Linux)

  • July 10, 2019

因此,我目前正在將 XMPP 伺服器與 Signal 網關合併以提高效率(在單獨的 VM 中執行每個服務會消耗資源,就像沒人的業務一樣),我需要轉換網關的服務腳本以在 XMPP 的 Alpine 上工作(缺少切換全部交給 Arch),這樣我就可以使用正常命令啟動和停止並在啟動時啟動服務。不幸的是,關於 Alpine 的完整文件並不多。這是我在目前 Debian 伺服器上的內容:

[Unit]
Description=signal-web-gateway daemon
After=network.target

[Service]
PIDFile=/run/signal-web-gateway/pid
User=signal
Group=signal
RuntimeDirectory=signal-web-gateway
WorkingDirectory=/home/signal/
ExecStart=/home/signal/signal -gateway -bind 127.0.0.1:5010
PrivateTmp=true

[Install]
WantedBy=multi-user.target

基本上我想知道如何將它翻譯成 OpenRC (Alpine) 以及放在哪裡。

使用這個:https ://gitlab.com/morph027/signal-web-gateway

這是您的服務的簡單初始化腳本。

#!/sbin/openrc-run

depend() {
   need net
}

command="/home/signal/signal"
command_args="-gateway -bind 127.0.0.1:5010"
command_user="signal:signal"
pidfile="/run/${RC_SVCNAME}/pid"

我還在這里為該項目創建了一個問題,https://gitlab.com/morph027/signal-web-gateway/issues/11

注意:編寫 initscripts 的 Alpine Wiki 頁面推薦以下資源用於配置服務。

資源

引用自:https://serverfault.com/questions/974686