services: gitea: image: {{ gitea_image }} restart: unless-stopped env_file: .env {% if gitea_routing_mode in ["host", "traefik_file"] or gitea_publish_ssh | bool %} ports: {% if gitea_routing_mode in ["host", "traefik_file"] %} - "{{ nbops_traefik_file_bind_address if gitea_routing_mode == 'traefik_file' else '0.0.0.0' }}:{{ gitea_http_port }}:3000" {% endif %} {% if gitea_publish_ssh | bool %} - "{{ gitea_ssh_port }}:22" {% endif %} {% endif %} {% if gitea_routing_mode == "traefik" %} # internal HTTP service port: 3000; not published on the Docker host labels: - traefik.enable=true - traefik.http.routers.gitea.rule=Host(`{{ gitea_domain }}`) - traefik.http.routers.gitea.entrypoints={{ gitea_traefik_entrypoint }} - traefik.http.routers.gitea.tls={{ gitea_traefik_tls | bool | ternary('true', 'false') }} - traefik.http.services.gitea.loadbalancer.server.port=3000 networks: - default - {{ gitea_traefik_network }} {% endif %} volumes: - ./data:/data {% if gitea_routing_mode == "traefik" %} networks: {{ gitea_traefik_network }}: external: true {% endif %}