# Tutorial 6: Instalar y organizar servicios esenciales del homelab

- Link: https://www.clhome.net/servicios-homelab-docker-compose-dozzle-home-assistant/
- Published: 2026-10-06T10:28:21+02:00
- Author: gerard

Ruta de aprendizaje
Tutorial 6 de 14

[1](https://www.clhome.net/preparar-raspberry-pi-docker-compose/)[2](https://www.clhome.net/tutorial-2-docker-desde-cero-imagenes-contenedores-volumenes-redes/)
[3](https://www.clhome.net/tutorial-3-primer-servicio-docker-compose/)[4](https://www.clhome.net/tutorial-4-administrar-docker-portainer/)
[5](https://www.clhome.net/red-docker-macvlan-portainer/)[6](https://www.clhome.net/servicios-homelab-docker-compose-dozzle-home-assistant/)
[7](https://www.clhome.net/instalar-home-assistant-y-node-red-con-docker/)[8](https://www.clhome.net/instalar-unifi-network-application-docker-compose/)
[9](https://www.clhome.net/monitorizar-homelab-grafana-prometheus-docker/)[10](https://www.clhome.net/gestionar-actualizaciones-y-copias-de-seguridad-de-contenedores/)
[11](https://www.clhome.net/crear-un-sistema-de-comprobacion-de-salud-y-alertas-para-docker/)
[12](https://www.clhome.net/tutorial-12-proteger-docker-permisos-secretos-puertos-aislamiento/)
[13](https://www.clhome.net/tutorial-13-acceso-remoto-seguro-servicios-docker/)[14](https://www.clhome.net/tutorial-14-diagnosticar-errores-docker/)

[← Anterior](https://www.clhome.net/red-docker-macvlan-portainer/)[Índice de guías](https://www.clhome.net/guias/)
[Siguiente →](https://www.clhome.net/instalar-home-assistant-y-node-red-con-docker/)

Estos servicios completan un homelab básico con Docker. Siguen la numeración de 
la [red macvlan](https://www.clhome.net/red-docker-macvlan-portainer/) 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.

    ```wp-block-code
    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`.

    ```wp-block-code
    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`.

    ```wp-block-code
    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.

    ```wp-block-code
    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.

    ```wp-block-code
    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.

    ```wp-block-code
    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.

    ```wp-block-code
    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](https://www.clhome.net/monitorizar-homelab-grafana-prometheus-docker/)
para vigilar el consumo de recursos.

## Siguiente tutorial: Instalar Home Assistant y Node-RED con Docker

En el tutorial 7 continuaremos la ruta de Docker y servicios paso a paso.

[Pasa al siguiente tutorial →](https://www.clhome.net/instalar-home-assistant-y-node-red-con-docker/)
