Add README.md

This commit is contained in:
Aram 🍐 2025-08-23 11:10:03 -04:00
parent b3e326e955
commit 709fa01733

58
README.md Normal file
View file

@ -0,0 +1,58 @@
# Forgejo Runner Quadlets
My configurations for running a Forgejo Runner with root-less Podman Quadlets. This configuration enables Actions to build container images using `buildah`.
## Set-up
Install podman:
```sh
sudo apt install podman
```
Clone this repository:
```sh
git clone https://git.poire.dev/aramperes/forgejo-runner-quadlet.git
```
Create the directory for the quadlets. SystemD will be looking for the quadlets here, and we can use symbolic links to keep them in sync with this repo.
```sh
mkdir -p $HOME/.config/containers/systemd
for f in forgejo-runner-quadlet/quadlets/*; do ln -s $(realpath $f) $HOME/.config/containers/systemd/$(basename $f); done
```
Confirm:
```sh
ls -l $HOME/.config/containers/systemd/
# forgejo-runner.container -> /home/user/forgejo-runner-quadlet/quadlets/forgejo-runner.container
# podman-runtime.container -> /home/user/forgejo-runner-quadlet/quadlets/podman-runtime.container
# runner.network -> /home/user/forgejo-runner-quadlet/quadlets/runner.network
```
Run SystemD generator dry-run to validate the quadlets:
```sh
/usr/lib/systemd/system-generators/podman-system-generator --user --dryrun && echo 'Validated!'
```
Reload SystemD daemon and start the Runner. This will automatically create the Podman Runtime container and the bridge network.
```sh
systemctl --user daemon-reload
systemctl --user start forgejo-runner.service
```
Confirm the containers are running:
```sh
podman ps
# CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
# f060983acae5 quay.io/podman/stable:latest podman system ser... 38 seconds ago Up 38 seconds systemd-podman-runtime
# 0bd5990960eb data.forgejo.org/forgejo/runner:9 /bin/sh -c sleep ... 37 seconds ago Up 37 seconds systemd-forgejo-runner
```