Add rootless docker subpackage

This commit is contained in:
2025-01-22 11:31:36 +01:00
parent 3c67771ced
commit 6f63a33026
3 changed files with 86 additions and 3 deletions
+27
View File
@@ -0,0 +1,27 @@
[Unit]
Description=Gitea Actions runner using rootless docker
Documentation=https://gitea.com/gitea/act_runner
After=docker-rootless.service
[Service]
Environment=XDG_RUNTIME_DIR=%h/.docker/run
Environment=DOCKER_HOST=unix:///run/user/%U/docker.sock
ExecStart=/usr/bin/act_runner daemon -c %h/act_runner/config
ExecReload=/bin/kill -s HUP $MAINPID
WorkingDirectory=%h/act_runner
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
Type=notify
NotifyAccess=all
KillMode=mixed
[Install]
WantedBy=default.target
+24
View File
@@ -0,0 +1,24 @@
[Unit]
Description=Docker Application Container Engine (Rootless)
Documentation=https://docs.docker.com/go/rootless/
Requires=dbus.socket
[Service]
ExecStart=/usr/bin/dockerd-rootless.sh
ExecReload=/bin/kill -s HUP \$MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
Type=notify
NotifyAccess=all
KillMode=mixed
[Install]
WantedBy=default.target
+35 -3
View File
@@ -1,11 +1,12 @@
%global common_description %{expand:
A runner for Gitea based on act.}
%global subpackage rootless-docker
%global debug_package %{nil}
%global golicenses LICENSE
%global godocs examples README.md
%global goipath gitea.com/gitea/act_runner
%global goipath gitea.com/gitea/act_runner
Name: gitea-act-runner
Version: 0.2.10
@@ -15,6 +16,8 @@ Summary: A runner for Gitea based on act.
License: MIT
URL: https://gitea.com/gitea/act_runner
Source0: https://gitea.com/gitea/act_runner/archive/v%{version}.tar.gz
Source1: act_runner.service
Source2: docker-rootless.service
BuildRequires: go >= 1.22
BuildRequires: go-rpm-macros
@@ -24,21 +27,50 @@ BuildRequires: git-core
%description %{common_description}
%package %{subpackage}
Summary: Run gitea actions in non-root docker containers
Requires: act_runner docker-ce slirp4netns fuse-overlayfs iptables docker-ce-rootless-extras
Requires(post): shadow-utils shadow-utils-subid
Requires(preun): shadow-utils shadow-utils-subid
%description %{subpackage}
%{common_description}
Run gitea actions in non-root docker containers
%pre %{subpackage}
getent passwd %{subpackage} >/dev/null || \
useradd -c 'Rootless docker user' -k %{_datarootdir}/%{name}/skel -m -r -s '/sbin/nologin %{sub'package}
%post %{subpackage}
loginctl enable-linger %{subpackage}
mkdir ~%{subpackage}/act_runner
cd ~%{subpackage}/act_runner
act_runner register
act_runner generate-config > act_runner/config
%preun %{subpackage}
userdel -f %{subpackage}
%prep
%autosetup -C
%build
go build -o bin/act_runner %{goipath}
go build %{gobuild_baseflags} -o bin/act_runner %{goipath}
%install
install -m 0755 -vd %{buildroot}%{_bindir}
install -m 0755 -vd %{buildroot}%{_bindir}
install -m 0755 -vp bin/* %{buildroot}%{_bindir}/
install -m 0755 -vd %{buildroot}%{_userunitdir}/
install -m 0644 -vp %{SOURCE1} %{SOURCE2} %{buildroot}%{_userunitdir}/
%files
%license LICENSE
%doc README.md
%{_bindir}/*
%files rootless-docker
%{_userunitdir}/*
%changelog
%autochangelog