version: "3.9" services: gitea: image: gitea/gitea:1.21.0 container_name: gitea_gitea env_file: - path: ./gitea.env required: true restart: always networks: - web - gitea volumes: - $DOCKER_DATA/gitea:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - "2225:22" labels: - traefik.http.routers.gitea.rule=Host(`gitea.jafner.tools`) - traefik.http.routers.gitea.tls.certresolver=lets-encrypt - traefik.http.routers.gitea.tls.options=tls12@file - traefik.http.routers.gitea.middlewares=securityheaders@file - traefik.http.routers.gitea.service=gitea - traefik.http.services.gitea.loadbalancer.server.port=3000 postgres: image: postgres:13 container_name: gitea_postgres networks: - gitea env_file: - path: ./postgres_secrets.env required: false volumes: - postgres_data:/var/lib/postgresql/data runner: image: gitea/act_runner:latest container_name: gitea_runner depends_on: - gitea env_file: - path: ./runner.env required: true - path: ./runner_secrets.env required: false networks: - gitea volumes: - ./runner_config.yaml:/config.yaml - $DOCKER_DATA/runner:/data - /var/run/docker.sock:/var/run/docker.sock networks: web: external: true gitea: volumes: postgres_data: