#cloud-config package_update: true packages: - docker.io - curl - jq write_files: - path: /etc/act_runner/config.yaml permissions: '0644' owner: root:root content: | runner: labels: - "ubuntu-latest:docker://gitea/runner-images:ubuntu-latest" - "ubuntu-24.04:docker://gitea/runner-images:ubuntu-24.04" - "ubuntu-22.04:docker://gitea/runner-images:ubuntu-22.04" workdir: /var/lib/act_runner max_parallel: 1 - path: /etc/systemd/system/act_runner.service permissions: '0644' owner: root:root content: | [Unit] Description=Gitea Actions act_runner service After=docker.service Wants=docker.service [Service] Type=simple ExecStart=/usr/local/bin/act_runner daemon --config /etc/act_runner/config.yaml WorkingDirectory=/var/lib/act_runner User=root Restart=always RestartSec=10 [Install] WantedBy=multi-user.target runcmd: - mkdir -p /var/lib/act_runner - curl -L https://gitea.com/gitea/act_runner/releases/download/v0.2.12/act_runner-0.2.12-linux-amd64 -o /usr/local/bin/act_runner - chmod +x /usr/local/bin/act_runner - cd /var/lib/act_runner && /usr/local/bin/act_runner register --no-interactive --instance "https://gitea.futureporn.net" --token "{{ GITEA_RUNNER_REGISTRATION_TOKEN }}" --name "{{ hostname }}" --labels "ubuntu-22.04:docker" - systemctl daemon-reload - systemctl enable act_runner - systemctl start act_runner