networks: {{ traefik_public_net }}: external: true internal: services: server: image: gitea/gitea:{{ gitea_version }} environment: - USER_UID=1000 - USER_GID=1000 - GITEA__database__DB_TYPE={{ gitea_db_type }} - GITEA__database__HOST={{ gitea_db_host }} - GITEA__database__NAME={{ gitea_db_name }} - GITEA__database__USER={{ gitea_db_user }} - GITEA__database__PASSWD={{ gitea_db_password }} - GITEA__server__DOMAIN={{ gitea_domain }} - GITEA__server__SSH_DOMAIN={{ gitea_domain }} - GITEA__server__SSH_PORT={{ gitea_ssh_port }} - GITEA__server__ROOT_URL=https://{{ gitea_domain }}/ volumes: - {{ data_dir }}/data:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro networks: - internal - {{ traefik_public_net }} ports: - "{{ gitea_ssh_port }}:22" deploy: mode: replicated replicas: 1 labels: - "traefik.enable=true" - "traefik.docker.network={{ traefik_public_net }}" - "traefik.http.routers.gitea.rule=Host(`{{ gitea_domain }}`)" - "traefik.http.routers.gitea.entrypoints=https" - "traefik.http.routers.gitea.tls.certresolver=main" - "traefik.http.services.gitea.loadbalancer.server.port=3000" db: image: postgres:{{ postgres_version }} restart: always environment: - POSTGRES_USER={{ gitea_db_user }} - POSTGRES_PASSWORD={{ gitea_db_password }} - POSTGRES_DB={{ gitea_db_name }} networks: - internal volumes: - {{ data_dir }}/data/db:/var/lib/postgresql/data command: - "postgres" - "-c" - "fsync=on" - "-c" - "full_page_writes=on" - "-c" - "synchronous_commit=on" deploy: mode: replicated replicas: 1