name: unifi-network-application
services:
unifi-db:
container_name: unifi-db
image: docker.io/mongo:8.0
configs:
- source: init-mongo.js
target: /docker-entrypoint-initdb.d/init-mongo.js
environment:
- PGID=1000
- PUID=1000
- TZ=Asia/Bangkok
restart: unless-stopped
volumes:
- type: bind
source: ./unifi-db
target: /data/db
networks:
- unifi-bridge
privileged: false
unifi-network-application:
container_name: unifi-network-application
depends_on:
unifi-db:
condition: service_started
required: true
environment:
- MONGO_DBNAME=unifi-db
- MONGO_HOST=unifi-db
- MONGO_PASS=pass
- MONGO_PORT=27017
- MONGO_USER=unifi
- PGID=1000
- PUID=1000
- TZ=Asia/Bangkok
image: lscr.io/linuxserver/unifi-network-application:latest
ports:
- target: 8443
published: "8443"
protocol: tcp
- target: 3478
published: "3478"
protocol: udp
- target: 10001
published: "10001"
protocol: udp
- target: 8080
published: "8080"
protocol: tcp
- target: 1900 #optional
published: "1900"
protocol: udp
- target: 8843 #optional
published: "8843"
protocol: tcp
- target: 8880 #optional
published: "8880"
protocol: tcp
- target: 6789 #optional
published: "6789"
protocol: tcp
- target: 5514 #optional
published: "5514"
protocol: udp
restart: unless-stopped
volumes:
- type: bind
source: ./unifi-network-application
target: /config
networks:
- unifi-bridge
privileged: false
networks:
unifi-bridge:
driver: bridge
configs:
init-mongo.js:
content: |
db.getSiblingDB("unifi-db").createUser({user: "unifi", pwd: "pass", roles: [{role: "dbOwner", db: "unifi-db"}]});
db.getSiblingDB("unifi-db_stat").createUser({user: "unifi", pwd: "pass", roles: [{role: "dbOwner", db: "unifi-db_stat"}]});
P.S. Override inform host with host ip
UniFi Devices -> Device Updates and Settings -> Inform Host Override