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