Estos servicios completan un homelab básico con Docker. Siguen la numeración de la red macvlan después de Portainer y UniFi. Cada uno tiene una base de Docker Compose independiente que puedes desplegar cuando la necesites. Guarda cada archivo como /docker/<servicio>/compose.yaml, despliega cada servicio en su propia carpeta, prueba la conectividad y documenta la IP antes de pasar al siguiente.
Dozzle: visor de logs (192.168.20.12)
Dozzle permite revisar los logs de los contenedores desde el navegador. Es un visor ligero y no sustituye una plataforma de observabilidad.
services:
dozzle:
image: amir20/dozzle:latest
container_name: dozzle
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
docker_macvlan:
ipv4_address: 192.168.20.12
networks:
docker_macvlan:
external: true
Arranca con docker compose up -d y entra en http://192.168.20.12:8080. Limita el acceso a la VLAN Docker o protégelo detrás de tu proxy.
Home Assistant: automatización (192.168.20.13)
Home Assistant centraliza integraciones, escenas y automatizaciones. La configuración se guarda en el directorio ./config.
services:
home-assistant:
image: ghcr.io/home-assistant/home-assistant:stable
container_name: home-assistant
restart: unless-stopped
environment:
- TZ=Europe/Madrid
volumes:
- ./config:/config
ports:
- "8123:8123"
networks:
docker_macvlan:
ipv4_address: 192.168.20.13
networks:
docker_macvlan:
external: true
Arranca con docker compose up -d y abre http://192.168.20.13:8123. Algunas integraciones necesitan mDNS, acceso a dispositivos o una red específica; añade solo los permisos que realmente requieran.
Node-RED: flujos de automatización (192.168.20.14)
Node-RED permite construir flujos visuales para conectar eventos, APIs, MQTT y servicios del homelab. Sus flujos se guardan en ./data.
services:
node-red:
image: nodered/node-red:latest
container_name: node-red
restart: unless-stopped
environment:
- TZ=Europe/Madrid
volumes:
- ./data:/data
ports:
- "1880:1880"
networks:
docker_macvlan:
ipv4_address: 192.168.20.14
networks:
docker_macvlan:
external: true
Arranca con docker compose up -d y entra en http://192.168.20.14:1880. Protege el editor con autenticación antes de permitir acceso fuera de la VLAN Docker.
Homepage: panel de servicios (192.168.20.15)
Homepage muestra enlaces, accesos y widgets de los servicios. Guarda la configuración en ./config y usa variables de entorno para limitar los hosts permitidos.
services:
homepage:
image: ghcr.io/gethomepage/homepage:latest
container_name: homepage
restart: unless-stopped
environment:
- HOMEPAGE_ALLOWED_HOSTS=192.168.20.15:3000
volumes:
- ./config:/app/config
ports:
- "3000:3000"
networks:
docker_macvlan:
ipv4_address: 192.168.20.15
networks:
docker_macvlan:
external: true
Arranca con docker compose up -d y visita http://192.168.20.15:3000. Añade los servicios en los archivos de configuración de Homepage sin incluir tokens ni contraseñas.
HomeBox: inventario (192.168.20.16)
HomeBox sirve para registrar equipos, ubicaciones, garantías y otros elementos físicos del homelab.
services:
homebox:
image: ghcr.io/sysadminsmedia/homebox:latest
container_name: homebox
restart: unless-stopped
environment:
- TZ=Europe/Madrid
volumes:
- ./data:/data
ports:
- "7745:7745"
networks:
docker_macvlan:
ipv4_address: 192.168.20.16
networks:
docker_macvlan:
external: true
Arranca con docker compose up -d y abre http://192.168.20.16:7745. Haz copias del directorio de datos porque contiene la información del inventario.
Actual Budget: finanzas personales (192.168.20.17)
Actual Budget es una aplicación de presupuesto autoalojada. Mantén sus datos en un volumen persistente y no expongas el servicio directamente a Internet.
services:
actual:
image: actualbudget/actual-server:latest
container_name: actual
restart: unless-stopped
environment:
- TZ=Europe/Madrid
volumes:
- ./data:/data
ports:
- "5006:5006"
networks:
docker_macvlan:
ipv4_address: 192.168.20.17
networks:
docker_macvlan:
external: true
Arranca con docker compose up -d y entra en http://192.168.20.17:5006. Protege la sesión y respalda el directorio de datos con especial cuidado.
ntfy: notificaciones (192.168.20.18)
ntfy permite enviar avisos desde scripts y servicios mediante peticiones HTTP. Puedes empezar en modo local y añadir autenticación antes de conectarlo a servicios externos.
services:
ntfy:
image: binwiederhier/ntfy:latest
container_name: ntfy
restart: unless-stopped
command: serve
environment:
- TZ=Europe/Madrid
volumes:
- ./cache:/var/cache/ntfy
- ./config:/etc/ntfy
ports:
- "80:80"
networks:
docker_macvlan:
ipv4_address: 192.168.20.18
networks:
docker_macvlan:
external: true
Arranca con docker compose up -d y visita http://192.168.20.18. Define el nombre de los topics y activa la autenticación si los avisos contienen información privada.
Siguiente paso
Cuando tengas estos servicios en marcha, añade monitorización con Grafana y Prometheus para vigilar el consumo de recursos.