STABLE: Reconstrucción integral de Traefik v3 y Portainer con seguridad reforzada y documentación
This commit is contained in:
@@ -1,41 +1,38 @@
|
||||
# ==============================================================================
|
||||
# PORTAINER CE - CONFIGURACIÓN SEGURA PARA OGNIRNAS
|
||||
# OGNIRNAS - PORTAINER CE (GESTIÓN DE CONTENEDORES)
|
||||
# ==============================================================================
|
||||
# - Usuario: 1032 (docker-manager)
|
||||
# - Acceso Socket: GID 65538 (Synology Docker Group)
|
||||
# - Red: services-internal-net
|
||||
# - Middleware: seguridad-general@file
|
||||
# Última revisión: 2026-01-06
|
||||
# Propietario: Ognir (UID 1032 / GID 100)
|
||||
# NOTA: Sin Auth de Traefik (usa su propio login interno).
|
||||
# ==============================================================================
|
||||
|
||||
version: '3.8'
|
||||
version: "3.9"
|
||||
|
||||
services:
|
||||
portainer:
|
||||
image: portainer/portainer-ce:latest
|
||||
container_name: portainer
|
||||
restart: always
|
||||
user: "1032:100"
|
||||
group_add:
|
||||
- "65538" # Permite al usuario 1032 leer el socket de root
|
||||
security_opt:
|
||||
- no-new-privileges:true
|
||||
|
||||
networks:
|
||||
- services-internal-net
|
||||
# Puertos de emergencia (puedes comentarlos si solo usas Traefik)
|
||||
ports:
|
||||
- "8000:8000"
|
||||
- "9443:9443"
|
||||
services-internal-net: {}
|
||||
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- /volume1/docker/data/portainer:/data
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro # Conexión al socket para gestión
|
||||
- /volume1/docker/data/portainer:/data # Datos persistentes
|
||||
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.portainer.rule=Host(`portainer.ognir-server.synology.me`)"
|
||||
- "traefik.http.routers.portainer.entrypoints=websecure"
|
||||
- "traefik.http.routers.portainer.tls=true"
|
||||
- "traefik.http.routers.portainer.tls.certresolver=letsencrypt"
|
||||
- "traefik.docker.network=services-internal-net"
|
||||
- "traefik.http.services.portainer.loadbalancer.server.port=9000"
|
||||
# Importante: El middleware que definimos en la config dinámica
|
||||
- "traefik.http.routers.portainer.middlewares=seguridad-general@file"
|
||||
# --- MIDDLEWARES (SOLO CABECERAS, SIN AUTH) ---
|
||||
- "traefik.http.routers.portainer.middlewares=security-headers@file"
|
||||
|
||||
networks:
|
||||
services-internal-net:
|
||||
|
||||
Reference in New Issue
Block a user