1# Example configuration file, it's safe to copy this as the default config file without any modification.23# You don't have to copy this file to your instance,4# just run `forgejo-runner generate-config > config.yaml` to generate a config file.56log:7 # The level of logging, can be trace, debug, info, warn, error, fatal8 level: info910runner:11 # Where to store the registration result.12 file: .runner13 # Execute how many tasks concurrently at the same time.14 capacity: 115 # Extra environment variables to run jobs.16 envs:17 A_TEST_ENV_NAME_1: a_test_env_value_118 A_TEST_ENV_NAME_2: a_test_env_value_219 # Extra environment variables to run jobs from a file.20 # It will be ignored if it's empty or the file doesn't exist.21 env_file: .env22 # The timeout for a job to be finished.23 # Please note that the Forgejo instance also has a timeout (3h by default) for the job.24 # So the job could be stopped by the Forgejo instance if it's timeout is shorter than this.25 timeout: 3h26 # The timeout for the runner to wait for running jobs to finish when27 # shutting down because a TERM or INT signal has been received. Any28 # running jobs that haven't finished after this timeout will be29 # cancelled.30 # If unset or zero the jobs will be cancelled immediately.31 shutdown_timeout: 3h32 # Whether skip verifying the TLS certificate of the instance.33 insecure: false34 # The timeout for fetching the job from the Forgejo instance.35 fetch_timeout: 5s36 # The interval for fetching the job from the Forgejo instance.37 fetch_interval: 2s38 # The interval for reporting the job status and logs to the Forgejo instance.39 report_interval: 1s40 # The labels of a runner are used to determine which jobs the runner can run, and how to run them.41 # Like: ["macos-arm64:host", "ubuntu-latest:docker://node:20-bookworm", "ubuntu-22.04:docker://node:20-bookworm"]42 # If it's empty when registering, it will ask for inputting labels.43 # If it's empty when executing the `daemon`, it will use labels in the `.runner` file.44 labels: []4546cache:47 # Enable cache server to use actions/cache.48 enabled: true49 # The directory to store the cache data.50 # If it's empty, the cache data will be stored in $HOME/.cache/actcache.51 dir: ""52 # The host of the cache server.53 # It's not for the address to listen, but the address to connect from job containers.54 # So 0.0.0.0 is a bad choice, leave it empty to detect automatically.55 host: ""56 # The port of the cache server.57 # 0 means to use a random available port.58 port: 059 # The external cache server URL. Valid only when enable is true.60 # If it's specified, it will be used to set the ACTIONS_CACHE_URL environment variable. The URL should generally end with "/".61 # Otherwise it will be set to the the URL of the internal cache server.62 external_server: ""6364container:65 # Specifies the network to which the container will connect.66 # Could be host, bridge or the name of a custom network.67 # If it's empty, create a network automatically.68 network: ""69 # Whether to create networks with IPv6 enabled. Requires the Docker daemon to be set up accordingly.70 # Only takes effect if "network" is set to "".71 enable_ipv6: false72 # Whether to use privileged mode or not when launching task containers (privileged mode is required for Docker-in-Docker).73 privileged: false74 # And other options to be used when the container is started (eg, --add-host=my.forgejo.url:host-gateway).75 options:76 # The parent directory of a job's working directory.77 # If it's empty, /workspace will be used.78 workdir_parent:79 # Volumes (including bind mounts) can be mounted to containers. Glob syntax is supported, see https://github.com/gobwas/glob80 # You can specify multiple volumes. If the sequence is empty, no volumes can be mounted.81 # For example, if you only allow containers to mount the `data` volume and all the json files in `/src`, you should change the config to:82 # valid_volumes:83 # - data84 # - /src/*.json85 # If you want to allow any volume, please use the following configuration:86 # valid_volumes:87 # - '**'88 valid_volumes: []89 # overrides the docker client host with the specified one.90 # If "-", an available docker host will automatically be found.91 # If empty, an available docker host will automatically be found and mounted in the job container (e.g. /var/run/docker.sock).92 # Otherwise the specified docker host will be used and an error will be returned if it doesn't work.93 docker_host: "-"94 # Pull docker image(s) even if already present95 force_pull: false9697host:98 # The parent directory of a job's working directory.99 # If it's empty, $HOME/.cache/act/ will be used.100 workdir_parent: