mytfenv/docker-compose.yml.old16.autoregisteruseless
2026-10-31 17:52:19 -05:00

84 lines
2.3 KiB
Text

networks:
test-net:
driver: bridge
name: gitops-test-network
volumes:
forgejo-data:
driver: local
driver_opts:
type: none
o: bind
device: ${PWD}/forgejo_data
runner-data:
driver: local
driver_opts:
type: none
o: bind
device: ${PWD}/runner_data
services:
# 1. FORGEJO
forgejo:
image: data.forgejo.org/forgejo/forgejo:9
container_name: forgejo
networks:
- test-net
environment:
- FORGEJO__SERVER__HTTP_PORT=3000
- FORGEJO__SERVER__ROOT_URL=http://forgejo:3000 # <--- Einheitlich im Docker-Netzwerk
- FORGEJO__ACTIONS__ENABLED=true
- FORGEJO__PACKAGES__ENABLED=true
- FORGEJO__PACKAGES__CONTAINER_ENABLED=true
ports:
- "3000:3000"
- "3005:3000"
- "2222:22"
volumes:
- forgejo-data:/data
restart: always
# 2. FORGEJO RUNNER (KORRIGIERT: Vollautomatische Registrierung beim Booten)
forgejo-runner:
image: data.forgejo.org/forgejo/runner:9
container_name: forgejo-runner
networks:
- test-net
user: "0:0"
# Der Trick: Er prüft, ob eine Config existiert. Wenn nicht, registriert er sich vollautomatisch selbst!
entrypoint: >
sh -c "if [ ! -f /data/.runner ]; then
forgejo-runner register --instance http://forgejo:3000 --token mysecrettoken123 --name debian-local-runner --labels ubuntu-latest:docker://ghcr.io/devops-infra/docker-terraform:latest --no-interactive;
fi;
exec forgejo-runner daemon"
environment:
- GITEA_INSTANCE_URL=http://forgejo:3000
- GITEA_RUNNER_REGISTRATION_TOKEN=mysecrettoken123 # <--- Wir fixieren das Token einfach!
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- runner-data:/data
- ./kind_kubeconfig:/root/.kube
depends_on:
- forgejo
restart: always
# 3. KUBERNETES PLATTFORM (K3s)
k3s-cluster:
image: rancher/k3s:v1.28.2-k3s1
container_name: local-k3s-platform
networks:
- test-net
privileged: true
tmpfs:
- /run
- /var/run
ports:
- "8443:6443"
- "8080:80"
environment:
- K3S_KUBECONFIG_OUTPUT=/output/config
- K3S_KUBECONFIG_MODE=666
volumes:
- ./kind_kubeconfig:/output
command: server --disable traefik --egress-selector-mode=disabled
restart: always