将 systemd 服务转换为 OpenRC (Alpine Linux)

Dar*_*ess 5 service boot alpine

因此,我目前正在将 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
Run Code Online (Sandbox Code Playgroud)

基本上我想知道如何将其转换为 OpenRC (Alpine) 以及将其放在哪里。

使用这个: https: //gitlab.com/morph027/signal-web-gateway

小智 5

这是您的服务的简单初始化脚本。

#!/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"
Run Code Online (Sandbox Code Playgroud)

我还在这里为该项目创建了一个问题,https://gitlab.com/morph027/signal-web-gateway/issues/11

注意:有关编写 initscripts 的 Alpine Wiki 页面推荐使用以下资源来配置服务。

资源