version: "{{ docker_compose_version }}" networks: traefik: external: true default: external: false services: gitea: container_name: gitea image: gitea/gitea:latest restart: unless-stopped depends_on: - db networks: - traefik - default ports: - "127.0.0.1:2222:22" environment: - "USER_UID={{ service_user.uid }}" - "USER_GID={{ service_user.group }}" - GITEA__database__DB_TYPE=postgres - GITEA__database__HOST=db:5432 - GITEA__database__NAME=gitea - GITEA__database__USER=gitea - GITEA__database__PASSWD=gitea - GITEA__server__START_SSH_SERVER=true - GITEA__server__BUILTIN_SSH_SERVER_USER=git - GITEA__server__SSH_LISTEN_PORT=2222 - "GITEA__server__DOMAIN=git.{{ personal_domain }}" - "GITEA__server__ROOT_URL=https://git.{{ personal_domain }}" - GITEA__server__LANDING_PAGE=explore volumes: - "{{ data_dir }}/gitea:/data" - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro - /home/git/.ssh:/data/git/.ssh # For SSH passthrough labels: traefik.enable: true traefik.http.routers.gitea.rule: "Host(`git.{{ personal_domain }}`)" traefik.http.services.gitea.loadbalancer.server.port: 3000 db: image: postgres:14-alpine restart: unless-stopped networks: - default environment: - POSTGRES_USER=gitea - POSTGRES_PASSWORD=gitea - POSTGRES_DB=gitea volumes: - "{{ data_dir }}/postgres/gitea:/var/lib/postgresql/data"