Eliminar página de instalación avanzada
1
Home.md
1
Home.md
@@ -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
|
||||
|
||||
263
Instalacion.md
263
Instalacion.md
@@ -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)
|
||||
Reference in New Issue
Block a user