logo

Forgejo Runner结合Rootless Podman使用

起筆於:發佈於:文集:随笔

Forgejo Runner官方文档对于如何结合Podman使用的描述有些简陋,直接按着文档操作容易出错,本文将作为补充,供需要使用Podman配合Forgejo Runner的开发者参考。

首先第一步是下载安装forgejo-runner,并且创建专门用来运行runner的用户,这一步照着官方文档操作没有问题,但是注意在创建用户后,需要执行:

sudo loginctl enable-linger runner

这样后续才能让用户长期启用应用级systemd服务。

所有后续的操作都应该切换到runner用户来做。

# 生成配置文件
forgejo-runner generate-config > config.yml

# 注册runner
forgejo-runner register

然后需要执行一次​systemctl --user enable --now podman.socket​。

最后编辑​~/.config/systemd/user/forgejo.runner.service​文件:

[Unit]
Description=Forgejo Runner
Documentation=https://forgejo.org/docs/latest/admin/actions/
After=podman.socket
Requires=podman.socket

[Service]
ExecStart=/usr/local/bin/forgejo-runner daemon --config /home/runner/config.yml
ExecReload=/bin/kill -s HUP $MAINPID
WorkingDirectory=/home/runner
Restart=on-failure
TimeoutSec=0
RestartSec=10
Environment="DOCKER_HOST=unix:///run/user/$(id -u)/podman/podman.sock"
Environment="XDG_RUNTIME_DIR=/run/user/$(id -u)"

[Install]
WantedBy=default.target

启用服务:

systemctl --user daemon-reload
systemctl --user enable --now forgejo-runner.service
EOF
文章有帮助?为我充个
版权声明