Docker compose file for Unifi Network Application

May 8, 2025

This is a Docker compose file for the Unifi Network Application from LinuxServer.io. The Mongo database requires an initialization script which can be found here .

---
services:

  unifi-db:
    image: docker.io/mongo:8.0.8
    container_name: unifi-db
    environment:
      - MONGO_INITDB_ROOT_USERNAME=root
      - MONGO_INITDB_ROOT_PASSWORD=XXXXXXXXXX
      - MONGO_USER=unifi
      - MONGO_PASS=YYYYYYYYYY
      - MONGO_DBNAME=unifi
      - MONGO_AUTHSOURCE=admin
    volumes:
      - ~/data/unifi/mongo:/data/db
      - ~/docker/unifi/init-mongo.sh:/docker-entrypoint-initdb.d/init-mongo.sh:ro
    restart: unless-stopped

  unifi-network-application:
    image: lscr.io/linuxserver/unifi-network-application:9.0.114
    container_name: unifi
    environment:
      - PUID=501
      - PGID=20
      - TZ=America/Boston
      - MONGO_USER=unifi
      - MONGO_PASS=YYYYYYYYYY
      - MONGO_HOST=unifi-db
      - MONGO_PORT=27017
      - MONGO_DBNAME=unifi
      - MONGO_AUTHSOURCE=admin
      - MEM_LIMIT=1024 #optional
      - MEM_STARTUP=1024 #optional
      - MONGO_TLS= #optional
    volumes:
      - ~/data/unifi/data:/config
    ports:
      - 8443:8443
      - 3478:3478/udp
      - 10001:10001/udp
      - 8080:8080
      - 8843:8843 #optional
      - 8880:8880 #optional
      - 6789:6789 #optional
      - 5514:5514/udp #optional
    restart: unless-stopped
    depends_on:
      - unifi-db

Setup Docker on Linux with

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

To build and run the Docker container above, navigate to the directory where that file is saved. It must be called docker-compose.yml. Then run

docker compose up -d