# ============================================================================== # GITEA - CONFIGURACIÓN DE PRODUCCIÓN PARA SYNOLOGY DSM # ============================================================================== # Este servicio corre bajo el UID 1032 y GID 100 gestionado internamente por s6. # Se conecta a Traefik v3 a través de la red interna de servicios. # ============================================================================== version: "3.9" services: server: image: gitea/gitea:latest container_name: gitea restart: always networks: - services-internal-net # Red compartida con el Proxy volumes: - /volume1/docker/data/gitea:/data # Persistencia de datos, SSH y DB environment: # IDs de usuario confirmados para evitar conflictos de permisos en el NAS - USER_UID=1032 - USER_GID=100 - TZ=Europe/Madrid # URL externa para evitar el redireccionamiento a localhost:3000 - GITEA__server__ROOT_URL=https://gitea.ognir-server.synology.me/ - GITEA__database__DB_TYPE=sqlite3 labels: - "traefik.enable=true" # Enrutamiento mediante Host - "traefik.http.routers.gitea.rule=Host(`gitea.ognir-server.synology.me`)" - "traefik.http.routers.gitea.entrypoints=websecure" - "traefik.http.routers.gitea.tls=true" - "traefik.http.routers.gitea.tls.certresolver=letsencrypt" # Forzamos a Traefik a usar la red interna para evitar errores de gateway - "traefik.docker.network=services-internal-net" - "traefik.http.services.gitea.loadbalancer.server.port=3000" # Uso del middleware de seguridad definido en el proveedor de archivos (@file) - "traefik.http.routers.gitea.middlewares=seguridad-general@file" networks: services-internal-net: external: true