1003269bd9beae3cf879233d1fc2dc40391bdec8
Infraestructura: Portainer
Portainer CE — Despliegue con Docker Compose (Linux)
Este repositorio proporciona una forma sencilla de desplegar Portainer Community Edition (CE) usando Docker Compose en Linux, siguiendo las recomendaciones oficiales: https://docs.portainer.io/start/install-ce/server/docker/linux#docker-compose
Requisitos
- Docker y Docker Compose instalados en el host.
- Usuario con permisos para acceder a
/var/run/docker.sock. - Conectividad a los puertos necesarios.
Qué incluye este stack
- Servicio
portainercon la imagenportainer/portainer-ce:lts. - Montaje del socket Docker:
/var/run/docker.sock:/var/run/docker.sock. - Volumen persistente
portainer_datamontado en/datapara conservar la configuración. - Puertos:
9443:9443(UI HTTPS de Portainer)
- Red
portainer_network(por defecto).
Archivo Compose
El docker-compose.yaml actual contiene:
services:
portainer:
container_name: portainer
image: portainer/portainer-ce
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
ports:
- 9443:9443
volumes:
portainer_data:
name: portainer_data
networks:
default:
name: portainer_network
Pasos de despliegue (PowerShell en Windows o bash equivalente en Linux)
- Clonar el repositorio (si no lo tienes):
git clone https://git.ictiberia.com/groales/portainer
cd portainer
- Levantar Portainer con Docker Compose:
docker compose up -d
- Verificar que Portainer está en ejecución:
docker ps --filter name=portainer
- Acceder a la interfaz web:
- URL:
https://<HOST>:9443 - Al primer acceso, Portainer te pedirá crear el usuario administrador.
Notas y buenas prácticas
- Mantén el volumen
portainer_datapara persistir configuración y datos. - Para exponer Portainer a Internet, usa un proxy inverso (Traefik/Nginx) con TLS y reglas de acceso.
- Limita el acceso a la UI mediante firewall/VPN.
Edge Agents (opcional)
Este stack no expone el puerto 8000 por defecto. Si necesitas gestionar agentes remotos (Edge), añade de nuevo el puerto en la sección ports:
ports:
- 9443:9443
- 8000:8000
Documentación adicional
Consulta la Wiki del proyecto para documentación detallada:
- Guía inicial
- Instalación avanzada y TLS
- Backup/Restore del volumen data
- Proxy inverso y TLS con Traefik
Solución de problemas
- Puerto ocupado (
9443/8000): comprueba procesos connetstatoGet-NetTCPConnectiony ajusta puertos endocker-compose.yaml. - Permisos sobre
/var/run/docker.sock: ejecuta con un usuario que pertenezca al grupodocker(Linux) o valida que Docker Desktop esté activo (Windows WSL2). - Certificados/TLS: si accedes por
https://y hay advertencias, usa un proxy inverso con certificados válidos o configura confiables en el cliente. - Contenedor no arranca: revisa logs con
docker logs portainery valida que el volumenportainer_dataexista.
Personalización rápida
- Eliminar Edge Agents: borra la línea
- 8000:8000enports:. - Cambiar nombre de red/volumen: ajusta
name: portainer_networkyname: portainer_dataen las seccionesnetworksyvolumes. - Variables mediante
.env: añade valores personalizados y referencia desde el compose si lo necesitas.docs/Traefik.md— integración con proxy reverso
Description