--- gitea_labels: [ '"traefik.enable=true"', '"traefik.http.routers.{{ gitea_id }}.service={{ gitea_id }}"', '"traefik.http.routers.{{ gitea_id }}.rule=Host(`{{ gitea_base_url }}`)"', '"traefik.http.routers.{{ gitea_id }}.entrypoints=websecure"', '"traefik.http.routers.{{ gitea_id }}.tls=true"', '"traefik.http.routers.{{ gitea_id }}.tls.certresolver=letsencrypt"', '"traefik.http.services.{{ gitea_id }}.loadbalancer.server.port={{ service_port }}"', ] gitea_environment: [ "USER: \"git\"", "USER_UID: \"1000\"", "USER_GID: \"1000\"", "GITEA__database__DB_TYPE: \"postgres\"", "GITEA__database__HOST: \"{{ gitea_postgres_host }}\"", "GITEA__database__NAME: \"{{ gitea_postgres_database }}\"", "GITEA__database__USER: \"{{ gitea_postgres_username }}\"", "GITEA__database__PASSWD: \"{{ gitea_postgres_password }}\"", ] gitea_docker: { networks: [ { name: back-tier, external: true, }, { name: front-tier, external: true, }, ], volumes: [ { name: "{{ gitea_id }}-data" }, ], services: [ { name: "{{ gitea_id }}", image_name: "{{ gitea_image_name }}", image_version: "{{ gitea_image_version }}", labels: "{{ gitea_labels + ( gitea_labels_additional | default([])) }}", restart: "{{ gitea_service_restart | default('always') }}", environment: "{{ gitea_environment + ( gitea_environment_additional | default([])) }}", volumes: [ '"{{ gitea_id }}-data:/data"', '"/etc/timezone:/etc/timezone:ro"', '"/etc/localtime:/etc/localtime:ro"', ], networks: [ '"back-tier"', '"front-tier"', ], ports: [ { "external": "3000", "internal": "3000", }, { "external": "2222", "internal": "22", }, ], extra_hosts: "{{ gitea_extra_hosts | default([]) }}", } ], }