Eliminar página de instalación avanzada

2025-12-01 14:11:57 +01:00
parent d59985bce2
commit 7d0c066fac
2 changed files with 0 additions and 264 deletions

@@ -77,7 +77,6 @@ https://<IP-del-servidor>:9443
## Próximos Pasos
- 📖 [Instalación Avanzada](Instalacion) - Configuración de TLS, variables de entorno y opciones avanzadas
- 💾 [Backup y Restauración](Backup) - Cómo respaldar y restaurar datos de Portainer
- 🌐 [Integración con Traefik](Traefik) - Configurar proxy inverso con TLS automático
- 🔌 [Edge Agents](Edge-Agents) - Gestionar entornos remotos con agentes Edge

@@ -1,263 +0,0 @@
# Instalación Avanzada
Esta página cubre opciones avanzadas de instalación y configuración para Portainer CE.
## Configuración con Variables de Entorno
Puedes usar un archivo `.env` para gestionar variables de configuración. Crea el archivo en la raíz del proyecto:
```bash
# .env
PORTAINER_HTTPS_PORT=9443
PORTAINER_EDGE_PORT=8000
PORTAINER_DATA_VOLUME=portainer_data
PORTAINER_NETWORK=portainer_network
```
Luego referencia estas variables en `docker-compose.yaml`:
```yaml
services:
portainer:
container_name: portainer
image: portainer/portainer-ce:lts
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ${PORTAINER_DATA_VOLUME:-portainer_data}:/data
ports:
- "${PORTAINER_HTTPS_PORT:-9443}:9443"
# - "${PORTAINER_EDGE_PORT:-8000}:8000" # Descomenta para Edge Agents
networks:
- ${PORTAINER_NETWORK:-portainer_network}
```
## Configuración de Certificados SSL/TLS
### Opción 1: Certificado Autofirmado (Por Defecto)
Portainer genera automáticamente un certificado autofirmado al iniciar. No requiere configuración adicional, pero los navegadores mostrarán advertencias de seguridad.
### Opción 2: Certificados Propios
Para usar tus propios certificados SSL:
1. **Prepara tus certificados**:
- `cert.pem` - Certificado público
- `key.pem` - Clave privada
2. **Crea una carpeta para certificados**:
```bash
mkdir -p ./certs
cp /ruta/a/tu/cert.pem ./certs/
cp /ruta/a/tu/key.pem ./certs/
chmod 600 ./certs/*.pem
```
3. **Modifica docker-compose.yaml**:
```yaml
services:
portainer:
# ... configuración existente ...
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- portainer_data:/data
- ./certs:/certs:ro
command: --sslcert /certs/cert.pem --sslkey /certs/key.pem
```
4. **Reinicia Portainer**:
```bash
docker compose down
docker compose up -d
```
### Opción 3: Proxy Inverso con Let's Encrypt
La forma más profesional es usar un proxy inverso como Traefik o Nginx con certificados Let's Encrypt. Ver [Integración con Traefik](Traefik).
## Habilitar Edge Agents
Los Edge Agents permiten gestionar entornos Docker remotos que no tienen conectividad directa con Portainer Server.
### 1. Exponer Puerto 8000
Edita `docker-compose.yaml` y descomenta la línea del puerto 8000:
```yaml
ports:
- "9443:9443"
- "8000:8000" # ← Descomentar esta línea
```
### 2. Configurar Firewall
Asegúrate de que el puerto 8000 esté accesible desde tus agentes remotos:
```bash
# Ejemplo con UFW (Ubuntu)
sudo ufw allow 8000/tcp
# Ejemplo con firewall-cmd (RHEL/CentOS)
sudo firewall-cmd --permanent --add-port=8000/tcp
sudo firewall-cmd --reload
```
### 3. Desplegar Edge Agent
Desde la interfaz de Portainer:
1. Ve a **Environments** → **Add environment**
2. Selecciona **Docker Standalone**
3. Elige **Edge Agent**
4. Copia el comando de instalación y ejecútalo en el host remoto
📖 Más información: [Documentación oficial de Edge Agents](https://docs.portainer.io/admin/environments/add/docker/edge)
## Configuración de SELinux
Si usas SELinux en Linux, necesitas ejecutar Portainer con el flag `--privileged`:
```yaml
services:
portainer:
# ... configuración existente ...
privileged: true
```
O configurar políticas SELinux específicas (recomendado para producción):
```bash
sudo semanage fcontext -a -t svirt_sandbox_file_t "/var/lib/docker/volumes/portainer_data(/.*)?"
sudo restorecon -R /var/lib/docker/volumes/portainer_data
```
## Docker Rootless
Portainer puede ejecutarse con Docker rootless, pero con algunas limitaciones:
1. **Montar socket rootless**:
```yaml
volumes:
- $XDG_RUNTIME_DIR/docker.sock:/var/run/docker.sock
```
2. **Limitaciones conocidas**:
- No se puede gestionar el host (stats, eventos del sistema)
- Algunas funciones de networking pueden no funcionar
- Host management features deshabilitadas
📖 Más información: [Docker Rootless](https://docs.docker.com/engine/security/rootless/)
## Despliegue con Docker Run
Si prefieres no usar Docker Compose:
```bash
# Crear volumen
docker volume create portainer_data
# Ejecutar Portainer
docker run -d \
-p 9443:9443 \
--name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:lts
```
## Configuración de Red Avanzada
### Usar Red Externa
Si ya tienes una red Docker existente:
```yaml
networks:
portainer_network:
external: true
name: mi_red_existente
```
### IPv6
Para habilitar IPv6:
```yaml
networks:
portainer_network:
enable_ipv6: true
ipam:
config:
- subnet: "fd00::/64"
```
## Limitar Recursos
Para limitar CPU y memoria de Portainer:
```yaml
services:
portainer:
# ... configuración existente ...
deploy:
resources:
limits:
cpus: '1.0'
memory: 512M
reservations:
cpus: '0.5'
memory: 256M
```
## Configuración de Logging
Personalizar el driver de logs:
```yaml
services:
portainer:
# ... configuración existente ...
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
```
## Troubleshooting Avanzado
### Logs Detallados
Habilitar modo debug:
```yaml
services:
portainer:
# ... configuración existente ...
command: --log-level=DEBUG
```
### Verificar Conectividad al Socket Docker
```bash
# Desde dentro del contenedor
docker exec -it portainer ls -la /var/run/docker.sock
# Verificar permisos
docker exec -it portainer stat -c '%a %U:%G' /var/run/docker.sock
```
### Reset de Admin Password
Si olvidaste la contraseña del admin:
```bash
docker stop portainer
docker run --rm -v portainer_data:/data portainer/helper-reset-password
docker start portainer
```
---
**Próximos pasos**: [Backup y Restauración](Backup) | [Integración con Traefik](Traefik)