STABLE: Reconstrucción integral de infraestructura, limpieza de middlewares obsoletos y blindaje de Traefik
This commit is contained in:
@@ -1,8 +1,12 @@
|
||||
# ==============================================================================
|
||||
# GITEA - CONFIGURACIÓN DE PRODUCCIÓN PARA SYNOLOGY DSM
|
||||
# GITEA - CONFIGURACIÓN DE PRODUCCIÓN (REVISIÓN DE SEGURIDAD)
|
||||
# ==============================================================================
|
||||
# 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.
|
||||
# - Identidad: Ejecución bajo UID 1032 / GID 100 (Estándar OgnirNAS).
|
||||
# - Red: Conectado a 'services-internal-net' para aislamiento Bridge.
|
||||
# - Traefik v3:
|
||||
# * Se utiliza 'security-headers@file' (Middleware dinámico actualizado).
|
||||
# * Vinculación explícita router-servicio para evitar estados 'disabled'.
|
||||
# * Resolución de certificados vía Let's Encrypt.
|
||||
# ==============================================================================
|
||||
|
||||
version: "3.9"
|
||||
@@ -13,29 +17,35 @@ services:
|
||||
container_name: gitea
|
||||
restart: always
|
||||
networks:
|
||||
- services-internal-net # Red compartida con el Proxy
|
||||
- services-internal-net
|
||||
volumes:
|
||||
- /volume1/docker/data/gitea:/data # Persistencia de datos, SSH y DB
|
||||
- /volume1/docker/data/gitea:/data
|
||||
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
|
||||
|
||||
# --- Configuración del Router ---
|
||||
- "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"
|
||||
|
||||
# --- Vinculación Router-Service ---
|
||||
# Define el destino explícito para habilitar el router en el Dashboard.
|
||||
- "traefik.http.routers.gitea.service=gitea"
|
||||
|
||||
# --- Configuración del Servicio (Backend) ---
|
||||
- "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"
|
||||
- "traefik.docker.network=services-internal-net"
|
||||
|
||||
# --- Middlewares ---
|
||||
# Se actualiza de 'seguridad-general' a 'security-headers' según el inventario dinámico.
|
||||
- "traefik.http.routers.gitea.middlewares=security-headers@file"
|
||||
|
||||
networks:
|
||||
services-internal-net:
|
||||
|
||||
Reference in New Issue
Block a user