
Relevant: https://gitea.com/gitea/act_runner/issues/735 See my example below, `edit` is my PR, `non-edit` is the origin/main. ``` dselen@N-DESKTOP1:~/development/act_runner$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE runner edit b12322f8c3f0 26 seconds ago 43.5MB runner non-edit e5593ad32c16 34 minutes ago 43.1MB dselen@N-DESKTOP1:~/development/act_runner$ docker run -d -e TZ=Europe/Amsterdam runner:non-edit 5f26979515f461a2a7e342aa586d7b91224d2d3c3dcf1ed0c1e7293ff00645a4 dselen@N-DESKTOP1:~/development/act_runner$ docker run -d -e TZ=Europe/Amsterdam runner:edit 9cc5fc6b364cf07776d97c6c60c03f23372eb2c93c7da8d3d80f4f6dc2a6b10e dselen@N-DESKTOP1:~/development/act_runner$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9cc5fc6b364c runner:edit "/sbin/tini -- run.sh" 2 seconds ago Up 2 seconds serene_bardeen 5f26979515f4 runner:non-edit "/sbin/tini -- run.sh" 5 seconds ago Up 5 seconds jovial_euler dselen@N-DESKTOP1:~/development/act_runner$ docker exec -it jovial_euler bash 5f26979515f4:/# date Thu Aug 21 16:40:35 UTC 2025 dselen@N-DESKTOP1:~/development/act_runner$ docker exec -it serene_bardeen bash 9cc5fc6b364c:/# date Thu Aug 21 18:40:42 CEST 2025 ``` I do not see why this would not be acceptable, its only 400KB Regards. Reviewed-on: https://gitea.com/gitea/act_runner/pulls/738 Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com> Reviewed-by: ChristopherHX <christopherhx@noreply.gitea.com> Co-authored-by: DaanSelen <daanselen@noreply.gitea.com> Co-committed-by: DaanSelen <daanselen@noreply.gitea.com>
act runner
Act runner is a runner for Gitea based on Gitea fork of act.
Installation
Prerequisites
Docker Engine Community version is required for docker mode. To install Docker CE, follow the official install instructions.
Download pre-built binary
Visit here and download the right version for your platform.
Build from source
make build
Build a docker image
make docker
Quickstart
Actions are disabled by default, so you need to add the following to the configuration file of your Gitea instance to enable it:
[actions]
ENABLED=true
Register
./act_runner register
And you will be asked to input:
- Gitea instance URL, like
http://192.168.8.8:3000/
. You should use your gitea instance ROOT_URL as the instance argument and you should not uselocalhost
or127.0.0.1
as instance IP; - Runner token, you can get it from
http://192.168.8.8:3000/admin/actions/runners
; - Runner name, you can just leave it blank;
- Runner labels, you can just leave it blank.
The process looks like:
INFO Registering runner, arch=amd64, os=darwin, version=0.1.5.
WARN Runner in user-mode.
INFO Enter the Gitea instance URL (for example, https://gitea.com/):
http://192.168.8.8:3000/
INFO Enter the runner token:
fe884e8027dc292970d4e0303fe82b14xxxxxxxx
INFO Enter the runner name (if set empty, use hostname: Test.local):
INFO Enter the runner labels, leave blank to use the default labels (comma-separated, for example, ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest):
INFO Registering runner, name=Test.local, instance=http://192.168.8.8:3000/, labels=[ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest ubuntu-22.04:docker://docker.gitea.com/runner-images:ubuntu-22.04 ubuntu-20.04:docker://docker.gitea.com/runner-images:ubuntu-20.04].
DEBU Successfully pinged the Gitea instance server
INFO Runner registered successfully.
You can also register with command line arguments.
./act_runner register --instance http://192.168.8.8:3000 --token <my_runner_token> --no-interactive
If the registry succeed, it will run immediately. Next time, you could run the runner directly.
Run
./act_runner daemon
Run with docker
docker run -e GITEA_INSTANCE_URL=https://your_gitea.com -e GITEA_RUNNER_REGISTRATION_TOKEN=<your_token> -v /var/run/docker.sock:/var/run/docker.sock --name my_runner gitea/act_runner:nightly
Configuration
You can also configure the runner with a configuration file.
The configuration file is a YAML file, you can generate a sample configuration file with ./act_runner generate-config
.
./act_runner generate-config > config.yaml
You can specify the configuration file path with -c
/--config
argument.
./act_runner -c config.yaml register # register with config file
./act_runner -c config.yaml daemon # run with config file
You can read the latest version of the configuration file online at config.example.yaml.
Example Deployments
Check out the examples directory for sample deployment types.