diff --git a/.gitignore b/.gitignore index 090a1f0..e03db0a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .idea .DS_Store +.env diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..454a2cd --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,27 @@ +services: + + dind: + image: "docker:dind" + container_name: "dind" + hostname: "dind" + privileged: true + command: [ "dockerd", "-H", "tcp://0.0.0.0:2375", "--tls=false" ] + restart: 'unless-stopped' + + runner: + image: "data.forgejo.org/forgejo/runner:6.3.1" + container_name: "runner" + hostname: "runner" + links: + - dind + depends_on: + dind: + condition: service_started + environment: + DOCKER_HOST: tcp://dind:2375 + # User without root privileges, but with access to `./data`. + user: 1001:1001 + volumes: + - ./runner/data:/data + restart: unless-stopped + command: '/bin/sh -c "sleep 5; forgejo-runner daemon"' diff --git a/runner/.env.default b/runner/.env.default new file mode 100644 index 0000000..b9b22af --- /dev/null +++ b/runner/.env.default @@ -0,0 +1,2 @@ +USER_UID=1000 +USER_GID=1000 diff --git a/runner/setup.sh b/runner/setup.sh new file mode 100644 index 0000000..60dcb16 --- /dev/null +++ b/runner/setup.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +set -e + +mkdir -p data +touch data/.runner +mkdir -p data/.cache + +chown -R 1001:1001 data/.runner +chown -R 1001:1001 data/.cache +chmod 775 data/.runner +chmod 775 data/.cache +chmod g+s data/.runner +chmod g+s data/.cache