UniFi Network Application es el controlador que gestiona tus switches, puntos de acceso y demás dispositivos UniFi. En esta guía lo desplegamos con Docker Compose sobre la red macvlan, con la base de datos MongoDB separada de la aplicación.
Requisitos
- Docker y Docker Compose instalados.
- La red
docker_macvlancreada, con la IP192.168.20.11reservada para UniFi (valores de ejemplo). - Imágenes compatibles con la arquitectura de tu equipo (por ejemplo, ARM64 en una Raspberry Pi).
1. Crea la carpeta y el archivo Compose
Este ejemplo separa la base de datos MongoDB de la aplicación. Guarda el archivo como /docker/unifi/compose.yaml y revisa la compatibilidad de las imágenes antes de desplegar:
services:
unifi-db:
image: mongo:4.4
container_name: unifi-db
restart: unless-stopped
command: --wiredTigerCacheSizeGB 0.25
volumes:
- ./db:/data/db
unifi-network-application:
image: lscr.io/linuxserver/unifi-network-application:latest
container_name: unifi-network-application
restart: unless-stopped
depends_on:
- unifi-db
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Madrid
- MONGO_USER=unifi
- MONGO_PASS=CAMBIA_ESTA_CONTRASEÑA
- MONGO_HOST=unifi-db
- MONGO_PORT=27017
- MONGO_DBNAME=unifi
- MEM_LIMIT=1024
- MEM_STARTUP=1024
volumes:
- ./app:/config
ports:
- "8443:8443"
- "8080:8080"
- "3478:3478/udp"
networks:
docker_macvlan:
ipv4_address: 192.168.20.11
networks:
docker_macvlan:
external: true
2. Arranca y comprueba el servicio
Antes de arrancar, cambia la contraseña de ejemplo y confirma los puertos que necesita tu versión. Después ejecuta:
cd /docker/unifi
docker compose up -d
docker compose logs -f unifi-network-application
Cuando el arranque termine, entra en https://192.168.20.11:8443 y completa el asistente inicial.
Si la aplicación no conecta con MongoDB
Si el controlador requiere que la base de datos y la aplicación compartan una red interna, mantén la red Compose predeterminada para MongoDB y conecta la aplicación también a esa red, además de la macvlan. Recuerda que la base de datos no necesita una IP propia en la VLAN.
Buenas prácticas
- Restringe el acceso al controlador a la VLAN de gestión, tal y como se explica en la guía de firewall con VLANs.
- Haz copia de los directorios
./dby./appantes de actualizar. - Actualiza de forma controlada con
docker compose pullydocker compose up -d.