Home Assistant, Nextcloud y Pi-hole sobre Docker

Publicado el 30 Jun 2025 · Categoría: Herramientas y Dockers · Autor: Fulmega

Guía rápida para desplegar una red doméstica con Docker, con contenedores de:

  • 🧠 Home Assistant
  • ☁️ Nextcloud
  • 🚫 Pi-hole

Esta guía solo cubre la instalación básica de los contenedores, ideal para entorno doméstico en red local.

🛠️ Requisitos previos

  • Ubuntu o Debian con Docker y Docker Compose.
  • Carpetas separadas para cada servicio.
  • Puertos disponibles:
    • Nextcloud: 8080
    • Home Assistant: 8123
    • Pi-hole: 53, 67, 80, 443, etc.

📁 Estructura de carpetas recomendada

mkdir -p docker/homeassistant
mkdir -p docker/nextcloud
mkdir -p docker/pihole
cd docker

🧠 1. Home Assistant

📄 homeassistant/docker-compose.yml:

version: '3.3'
services:
  homeassistant:
    container_name: homeassistant
    image: ghcr.io/home-assistant/home-assistant:stable
    volumes:
      - ./config:/config
      - /etc/localtime:/etc/localtime:ro
    restart: unless-stopped
    network_mode: host

Accede en: http://TU_IP_LOCAL:8123

☁️ 2. Nextcloud

📄 nextcloud/docker-compose.yml:

version: '3.3'
services:
  db:
    image: mariadb
    restart: always
    volumes:
      - ./db:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: rootpass
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
      MYSQL_PASSWORD: nextcloudpass

app: image: nextcloud restart: always ports: - 8080:80 volumes: - ./nextcloud:/var/www/html environment: MYSQL_PASSWORD: nextcloudpass MYSQL_DATABASE: nextcloud MYSQL_USER: nextcloud MYSQL_HOST: db

Accede en: http://TU_IP_LOCAL:8080

🚫 3. Pi-hole

📄 pihole/docker-compose.yml:

version: "3"
services:
pihole:
container_name: pihole
image: pihole/pihole:latest
ports:
- "53:53/tcp"
- "53:53/udp"
- "67:67/udp"
- "80:80"
- "443:443"
environment:
TZ: 'Europe/Madrid'
WEBPASSWORD: 'admin123'
volumes:
- ./etc-pihole:/etc/pihole
- ./etc-dnsmasq.d:/etc/dnsmasq.d
restart: unless-stopped

Accede en: http://TU_IP_LOCAL/adminRecuerda: configurar tu router para que Pi-hole sea el servidor DNS principal.

▶️ Lanzar todos los servicios

cd docker/homeassistant && docker-compose up -d
cd ../nextcloud && docker-compose up -d
cd ../pihole && docker-compose up -d