Invertir lógica: base sin puertos, override standalone para acceso directo
This commit is contained in:
62
README.md
62
README.md
@@ -23,16 +23,15 @@ Heimdall es un dashboard elegante y minimalista para organizar todos tus servici
|
||||
## Qué incluye este stack
|
||||
|
||||
- **Servicio**: `heimdall` con la imagen `lscr.io/linuxserver/heimdall:latest`
|
||||
- **Puertos**:
|
||||
- `8080`: HTTP (interfaz web)
|
||||
- `8443`: HTTPS (certificado autofirmado)
|
||||
- **Volúmenes**:
|
||||
- `heimdall_config`: Configuración y base de datos
|
||||
- **Variables de entorno**:
|
||||
- `PUID=1000` / `PGID=1000`: Usuario/grupo para permisos de archivos
|
||||
- `TZ=Europe/Madrid`: Zona horaria
|
||||
|
||||
**Nota**: La configuración base no incluye integración con proxy inverso. Usa los archivos override para conectar con Traefik o NPM.
|
||||
**⚠️ IMPORTANTE**: El `docker-compose.yml` base **NO publica puertos** por seguridad. Para acceder a Heimdall:
|
||||
- **Con proxy** (recomendado): Usa archivos override para Traefik o NPM
|
||||
- **Sin proxy** (acceso directo): Usa `docker-compose.override.standalone.yml.example`
|
||||
|
||||
## Pasos de despliegue
|
||||
|
||||
@@ -61,9 +60,10 @@ docker compose up -d
|
||||
- **Repository URL**: `https://git.ictiberia.com/groales/heimdall`
|
||||
- **Repository reference**: `refs/heads/main`
|
||||
- **Compose path**: `docker-compose.yml`
|
||||
- **Additional paths** (opcional):
|
||||
- **Additional paths** (según modo de acceso):
|
||||
- Para Traefik: `docker-compose.override.traefik.yml.example`
|
||||
- Para NPM: `docker-compose.override.npm.yml.example`
|
||||
- Para acceso directo IP:puerto: `docker-compose.override.standalone.yml.example`
|
||||
- **Deploy the stack**
|
||||
|
||||
**Nota**: Si usas **Additional paths**, no necesitas copiar el archivo a `.override.yml`. Portainer fusiona automáticamente los archivos especificados.
|
||||
@@ -80,9 +80,13 @@ docker ps --filter name=heimdall
|
||||
|
||||
### 4. Acceder a la interfaz
|
||||
|
||||
Abre tu navegador en:
|
||||
- **HTTP**: `http://IP-del-servidor:8080`
|
||||
- **HTTPS**: `https://IP-del-servidor:8443` (certificado autofirmado)
|
||||
Depende del override usado:
|
||||
|
||||
- **Con Traefik**: `https://heimdall.tudominio.com` (ajustar dominio en override)
|
||||
- **Con NPM**: Configura Proxy Host primero (ver sección NPM), luego `https://heimdall.tudominio.com`
|
||||
- **Acceso directo**: `http://IP-del-servidor:8080` o `https://IP-del-servidor:8443`
|
||||
|
||||
**Nota**: Si no usaste ningún override, el contenedor arranca pero no es accesible (sin puertos publicados).
|
||||
|
||||
## Configuración inicial
|
||||
|
||||
@@ -114,9 +118,27 @@ Para habilitar:
|
||||
|
||||
## Integración con Proxy Inverso
|
||||
|
||||
Este repositorio incluye archivos override para facilitar la integración:
|
||||
- `docker-compose.override.traefik.yml.example` - Para Traefik
|
||||
- `docker-compose.override.npm.yml.example` - Para NGINX Proxy Manager
|
||||
Este repositorio incluye tres archivos override:
|
||||
- `docker-compose.override.traefik.yml.example` - Integración con Traefik
|
||||
- `docker-compose.override.npm.yml.example` - Integración con NGINX Proxy Manager
|
||||
- `docker-compose.override.standalone.yml.example` - Acceso directo sin proxy (publica puertos 8080/8443)
|
||||
|
||||
**⚠️ Importante**: El `docker-compose.yml` base NO publica puertos. Debes usar uno de estos overrides para acceder a Heimdall.
|
||||
|
||||
### Acceso Directo (sin proxy)
|
||||
|
||||
**Desde Portainer (Git)**:
|
||||
- **Additional paths**: `docker-compose.override.standalone.yml.example`
|
||||
|
||||
**Desde CLI**:
|
||||
```bash
|
||||
cp docker-compose.override.standalone.yml.example docker-compose.override.yml
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
Acceso:
|
||||
- **HTTP**: `http://IP-del-servidor:8080`
|
||||
- **HTTPS**: `https://IP-del-servidor:8443` (certificado autofirmado)
|
||||
|
||||
### Con Traefik
|
||||
|
||||
@@ -193,7 +215,7 @@ En modo edición:
|
||||
|
||||
### Cambiar puertos
|
||||
|
||||
Si los puertos 8080/8443 están ocupados, edita `docker-compose.yml`:
|
||||
**Si usas acceso directo** (override standalone), puedes personalizar los puertos editando `docker-compose.override.standalone.yml.example`:
|
||||
|
||||
```yaml
|
||||
ports:
|
||||
@@ -201,6 +223,8 @@ ports:
|
||||
- "9443:443" # HTTPS en puerto 9443
|
||||
```
|
||||
|
||||
**Si usas proxy** (Traefik o NPM), no necesitas puertos publicados - el acceso es via dominio.
|
||||
|
||||
### Variables de entorno
|
||||
|
||||
Ajusta PUID/PGID según tu sistema:
|
||||
@@ -245,13 +269,15 @@ docker compose up -d
|
||||
|
||||
### Puerto ocupado
|
||||
|
||||
**Solo aplica si usas acceso directo** (override standalone):
|
||||
|
||||
```bash
|
||||
# Ver qué proceso usa el puerto
|
||||
Get-NetTCPConnection -LocalPort 8080
|
||||
# o en Linux
|
||||
sudo netstat -tulpn | grep :8080
|
||||
|
||||
# Cambiar puerto en docker-compose.yml
|
||||
# Cambiar puerto en docker-compose.override.standalone.yml.example
|
||||
ports:
|
||||
- "9080:80"
|
||||
```
|
||||
@@ -315,11 +341,11 @@ Heimdall mantiene la configuración entre actualizaciones (volumen persistente).
|
||||
|
||||
### Recomendaciones
|
||||
|
||||
1. ✅ **Usar NPM con SSL** para acceso seguro por dominio
|
||||
2. ✅ **Restringir acceso** al puerto 8080 con firewall (si no usas proxy)
|
||||
3. ✅ **Backup periódico** del volumen `heimdall_config`
|
||||
4. ✅ **Actualizar regularmente** con `docker compose pull && docker compose up -d`
|
||||
5. ✅ **Usar contraseñas fuertes** si habilitas autenticación
|
||||
1. ✅ **Usar proxy con SSL** (Traefik o NPM) para acceso seguro por dominio
|
||||
2. ✅ **Evitar acceso directo** en producción - usa override standalone solo para testing
|
||||
3. ✅ **Restringir acceso** con Access Lists en NPM o middlewares en Traefik
|
||||
4. ✅ **Backup periódico** del volumen `heimdall_config`
|
||||
5. ✅ **Actualizar regularmente** con `docker compose pull && docker compose up -d`
|
||||
|
||||
### Proteger con Access List (NPM)
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
services:
|
||||
heimdall:
|
||||
ports: [] # Eliminar puertos, acceso solo via NPM
|
||||
networks:
|
||||
- proxy
|
||||
|
||||
|
||||
25
docker-compose.override.standalone.yml.example
Normal file
25
docker-compose.override.standalone.yml.example
Normal file
@@ -0,0 +1,25 @@
|
||||
# docker-compose.override.standalone.yml.example
|
||||
#
|
||||
# Este archivo permite acceder a Heimdall directamente mediante IP:puerto sin proxy.
|
||||
# Útil para entornos sin NPM o Traefik, o para acceso directo temporal.
|
||||
#
|
||||
# Para usarlo:
|
||||
# Desde Portainer (Git Repository):
|
||||
# - Repository URL: https://git.ictiberia.com/groales/heimdall
|
||||
# - Compose path: docker-compose.yml
|
||||
# - Additional paths: docker-compose.override.standalone.yml.example
|
||||
#
|
||||
# Desde CLI:
|
||||
# 1. Copia este archivo a docker-compose.override.yml
|
||||
#
|
||||
# Docker Compose automáticamente fusiona docker-compose.yml + docker-compose.override.yml
|
||||
#
|
||||
# Acceso:
|
||||
# HTTP: http://IP-DEL-HOST:8080
|
||||
# HTTPS: https://IP-DEL-HOST:8443
|
||||
|
||||
services:
|
||||
heimdall:
|
||||
ports:
|
||||
- "8080:80"
|
||||
- "8443:443"
|
||||
@@ -15,7 +15,6 @@
|
||||
|
||||
services:
|
||||
heimdall:
|
||||
ports: [] # Eliminar puertos, acceso solo via Traefik
|
||||
networks:
|
||||
- proxy
|
||||
labels:
|
||||
|
||||
@@ -9,9 +9,6 @@ services:
|
||||
TZ: Europe/Madrid
|
||||
volumes:
|
||||
- heimdall_config:/config
|
||||
ports:
|
||||
- "8080:80"
|
||||
- "8443:443"
|
||||
|
||||
volumes:
|
||||
heimdall_config:
|
||||
|
||||
Reference in New Issue
Block a user