networks: forgejo: driver: bridge enable_ipv6: true services: mariadb: image: mariadb:11 container_name: mariadb restart: unless-stopped networks: - forgejo ports: - "127.0.0.1:3306:3306" environment: - MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=0 - MARIADB_DATABASE=forgejo - MARIADB_USER=forgejo - MARIADB_PASSWORD=forgejo-db-passwort volumes: - /data/docker/mariadb:/var/lib/mysql traefik: image: traefik:latest container_name: traefik restart: unless-stopped networks: - forgejo ports: - "80:80" - "443:443" volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - /data/docker/traefik/traefik.yml:/traefik.yml:ro - /data/docker/traefik/acme.json:/acme.json labels: - "traefik.enable=true" - "traefik.http.routers.dashboard.rule=Host(`traefik.example.eu`)" - "traefik.http.routers.dashboard.entrypoints=https" - "traefik.http.routers.dashboard.tls.certresolver=letsencrypt" - "traefik.http.routers.dashboard.service=api@internal" - "traefik.http.routers.dashboard.middlewares=auth" - "traefik.http.middlewares.auth.basicauth.users=benutzername:passworthash" forgejo: image: codeberg.org/forgejo/forgejo:11 container_name: forgejo restart: unless-stopped networks: - forgejo ports: - "23:22" environment: - USER_UID=1000 - USER_GID=1000 - FORGEJO__server__DOMAIN=git.example.eu - FORGEJO__server__ROOT_URL=https://git.example.eu - FORGEJO__database__DB_TYPE=mysql - FORGEJO__database__HOST=mariadb:3306 - FORGEJO__database__NAME=forgejo - FORGEJO__database__USER=forgejo - FORGEJO__database__PASSWD=forgejo-db-passwort volumes: - /data/docker/forgejo:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro depends_on: - mariadb labels: - "traefik.enable=true" - "traefik.http.routers.forgejo.rule=Host(`git.example.eu`)" - "traefik.http.routers.forgejo.entrypoints=https" - "traefik.http.routers.forgejo.tls.certresolver=letsencrypt" - "traefik.http.routers.forgejo.service=forgejo" - "traefik.http.services.forgejo.loadbalancer.server.port=3000" forgejo-runner: image: code.forgejo.org/forgejo/runner:6 container_name: forgejo-runner restart: unless-stopped volumes: - /var/run/docker.sock:/var/run/docker.sock - /data/docker/forgejo-runner/data:/data environment: - DOCKER_HOST=unix:///var/run/docker.sock networks: - forgejo user: 0:0 command: forgejo-runner -c /data/config.yaml daemon