services: gitea: image: gitea/gitea:latest restart: unless-stopped environment: USER_UID: ${USER_UID} USER_GID: ${USER_GID} networks: - internal - proxy labels: - "traefik.enable=true" - "traefik.docker.network=traefik" - "traefik.http.routers.gitea-web.rule=Host(`git.skrd.fun`)" - "traefik.http.routers.gitea-web.entrypoints=web" - "traefik.http.routers.gitea-web.middlewares=redirect-to-https@file" - "traefik.http.routers.gitea.rule=Host(`git.skrd.fun`)" - "traefik.http.routers.gitea.entrypoints=websecure" - "traefik.http.routers.gitea.tls.certresolver=cf" - "traefik.http.services.gitea.loadbalancer.server.port=3000" volumes: - /srv/dev-disk-by-uuid-1582b800-1f82-407a-a3aa-3460b3390127/docker/gitea/data:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro depends_on: - gitea-db runner: image: gitea/act_runner:latest restart: unless-stopped environment: CONFIG_FILE: /config/config.yaml GITEA_INSTANCE_URL: "https://git.skrd.fun" GITEA_RUNNER_NAME: "gitea-runner-1" GITEA_RUNNER_REGISTRATION_TOKEN: "${GITEA_RUNNER_REGISTRATION_TOKEN}" networks: - internal volumes: - /srv/dev-disk-by-uuid-1582b800-1f82-407a-a3aa-3460b3390127/docker/gitea/runner/config:/config - /srv/dev-disk-by-uuid-1582b800-1f82-407a-a3aa-3460b3390127/docker/gitea/runner/data:/data - /var/run/docker.sock:/var/run/docker.sock depends_on: - gitea gitea-db: image: postgres:16 restart: unless-stopped volumes: - /srv/dev-disk-by-uuid-1582b800-1f82-407a-a3aa-3460b3390127/docker/gitea/db:/var/lib/postgresql/data networks: - internal environment: POSTGRES_PASSWORD: "${POSTGRES_PASSWORD}" POSTGRES_DB: "${POSTGRES_DB}" POSTGRES_USER: "${POSTGRES_USER}" networks: internal: name: gitea proxy: name: traefik external: true