services: gitea: image: gitea/gitea:1.24.7 container_name: gitea restart: unless-stopped depends_on: gitea-db: condition: service_healthy environment: - USER_UID=2000 - USER_GID=2000 # Server - GITEA__server__DOMAIN=git.focus-on-it.net - GITEA__server__ROOT_URL=https://git.focus-on-it.net/ - GITEA__server__SSH_DOMAIN=git.focus-on-it.net - GITEA__server__SSH_PORT=2222 - GITEA__server__SSH_LISTEN_PORT=22 - GITEA__server__START_SSH_SERVER=false # Datenbank - GITEA__database__DB_TYPE=mysql - GITEA__database__HOST=gitea-db:3306 - GITEA__database__NAME=gitea - GITEA__database__USER=gitea - GITEA__database__PASSWD=STRONG_DB_PASSWORD volumes: - gitea:/data networks: - webproxy-net - gitea-internal ports: - "2222:22" labels: - "traefik.enable=true" - "traefik.docker.network=webproxy-net" - "traefik.http.routers.gitea.rule=Host(`git.focus-on-it.net`)" - "traefik.http.routers.gitea.entrypoints=websecure" - "traefik.http.routers.gitea.tls=true" - "traefik.http.routers.gitea.tls.certresolver=le" - "traefik.http.services.gitea.loadbalancer.server.port=3000" gitea-db: image: mariadb:11.8 container_name: gitea-db restart: unless-stopped environment: - MARIADB_ROOT_PASSWORD=STRONG_ROOT_PASSWORD - MARIADB_DATABASE=gitea - MARIADB_USER=gitea - MARIADB_PASSWORD=STRONG_DB_PASSWORD command: - --character-set-server=utf8mb4 - --collation-server=utf8mb4_unicode_ci volumes: - mysql:/var/lib/mysql networks: - gitea-internal healthcheck: test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"] interval: 10s timeout: 5s retries: 10 start_period: 20s volumes: gitea: driver: local mysql: driver: local networks: webproxy-net: external: true gitea-internal: driver: bridge