diff --git a/portainer/docker-compose.yml b/portainer/docker-compose.yml index 93bb439..aa31506 100755 --- a/portainer/docker-compose.yml +++ b/portainer/docker-compose.yml @@ -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: