Coolify's docker compose workdir doesn't always resolve ./config.yaml, so Docker silently created the mount target as a directory, breaking runner startup with 'is a directory'. Embed the config in the compose file via the configs: top-level key — no external file dependency.
33 lines
771 B
YAML
33 lines
771 B
YAML
services:
|
|
runner:
|
|
image: gitea/act_runner:latest
|
|
restart: always
|
|
environment:
|
|
GITEA_INSTANCE_URL: "https://git.apoena.dev"
|
|
GITEA_RUNNER_REGISTRATION_TOKEN: "${GITEA_RUNNER_REGISTRATION_TOKEN}"
|
|
GITEA_RUNNER_NAME: "coolify-runner"
|
|
CONFIG_FILE: "/config/config.yaml"
|
|
ports:
|
|
- "42951:42951"
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- runner_data:/data
|
|
configs:
|
|
- source: runner_config
|
|
target: /config/config.yaml
|
|
|
|
configs:
|
|
runner_config:
|
|
content: |
|
|
cache:
|
|
enabled: true
|
|
dir: "/data/cache"
|
|
host: "host.docker.internal"
|
|
port: 42951
|
|
|
|
container:
|
|
options: "--add-host=host.docker.internal:host-gateway"
|
|
|
|
volumes:
|
|
runner_data:
|