因此,为了提高效率,我目前正在将 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)以及将其放在哪里。
答案1
这是为您的服务提供的简单初始化脚本。
#!/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
注意:关于编写启动脚本的 Alpine Wiki 页面推荐使用以下资源来配置服务。
资源