J’ai rencontré des frictions avec la doc officielle, j’en fais donc une note.
Dans un dossier forgejo-runner je crée docker-compose.yml avec ce code :
services:
docker-in-docker:
image: docker:dind
container_name: 'docker_dind'
privileged: 'true'
command: ['dockerd', '-H', 'tcp://0.0.0.0:2375', '--tls=false']
restart: 'unless-stopped'
runner:
image: 'data.forgejo.org/forgejo/runner:11'
links:
- docker-in-docker
depends_on:
docker-in-docker:
condition: service_started
container_name: 'runner'
environment:
DOCKER_HOST: tcp://docker-in-docker:2375
# User qui a les droits d’écriture dans `./data` (c’est probablement ton username)
user: root:root
volumes:
- ./data:/data
restart: 'unless-stopped'
# Intervertir la commande active/commentée après la création de `./data/.runner`
command: ["sh", "-c", "exec sh -c 'while true; do sleep 3600; done'"]
#command: '/bin/sh -c "sleep 5; forgejo-runner daemon"'
# Désactivation de Træfik (à supprimer si Træfik n’est pas installé)
labels:
- "traefik.enable=false"
docker compose up -d (construit et lance les conteneurs) docker exec -it runner /bin/sh (entrer dans le shell du conteneur « runner ») forgejo-runner register (lancer l’assistant de configuration)
https://codeberg.org) .runner a été créé dans le dossier data
services:runner:user dans le docker-compose.yml et recommencer. docker-compose.yml pour commenter la 1ère commande et décommenter la 2nde. runs-on: avec comme valeur un des labels déclarés dans la config de ton runner.