diff --git a/gitea/docker-compose.yml b/gitea/docker-compose.yml index e56d9d5..598f1b3 100755 --- a/gitea/docker-compose.yml +++ b/gitea/docker-compose.yml @@ -25,6 +25,8 @@ services: - USER_GID=100 - TZ=Europe/Madrid - GITEA__server__ROOT_URL=https://gitea.ognir-server.synology.me/ + - GITEA__server__SSH_PORT=2222 + - GITEA__server__SSH_LISTEN_PORT=22 - GITEA__database__DB_TYPE=sqlite3 labels: - "traefik.enable=true" @@ -47,6 +49,20 @@ services: # Se actualiza de 'seguridad-general' a 'security-headers' según el inventario dinámico. - "traefik.http.routers.gitea.middlewares=security-headers@file" + # --- NUEVO: BLOQUE SSH (SELLADO) --- + - "traefik.tcp.routers.gitea-ssh.rule=HostSNI(`*`)" + - "traefik.tcp.routers.gitea-ssh.entrypoints=ssh-git" + - "traefik.tcp.routers.gitea-ssh.service=gitea-ssh-svc" + - "traefik.tcp.routers.gitea-ssh.priority=100" + - "traefik.tcp.services.gitea-ssh-svc.loadbalancer.server.port=22" + + + # El Sello de Seguridad (Whitelist) + # ESTE ES EL SELLO: Solo estas IPs pueden cruzar el puente + # Nota: En TCP puro (sin TLS), Traefik v3 usa el filtrado por IP en el middleware o router + #- "traefik.tcp.routers.gitea-ssh.middlewares=whitelist-ssh" + #- "traefik.tcp.middlewares.whitelist-ssh.ipallowlist.sourcerange=100.120.105.35,192.168.178.30-192.168.178.39" + networks: services-internal-net: external: true diff --git a/traefik/traefik.yml b/traefik/traefik.yml index f6cbb21..8c8187a 100755 --- a/traefik/traefik.yml +++ b/traefik/traefik.yml @@ -31,6 +31,8 @@ entryPoints: scheme: https websecure: address: ":443" + ssh-git: + address: ":2222" # --- Proveedores: Docker (vía Proxy) y Archivos Locales --- providers: