Files
SnipitRepo/Linux/Docs/Setup-Unifi-With-External-Database.md

2.0 KiB

Setup MongoDB server

Install MongoDB the normal way Official documentation.

Create admin user for MongoDB
Enter MongoDB shell using mongo
and use the following command

use admin
db.createUser(
  {
    user: "root",
    pwd: passwordPrompt(),
    roles: ["userAdminAnyDatabase", "dbAdminAnyDatabase", "readWriteAnyDatabase"],
    authenticationRestrictions: [ { clientSource: [ "127.0.0.1" ] } ]
  }
)
exit

Stop MongoDB server

systemctl stop mongod

Update mongod config
update the following items in /etc/mongod.conf

net:
  bindIp: 0.0.0.0

security:
  authorization: enabled
  clusterIpSourceWhitelist:
    - 127.0.0.1
    - ::1

Start MongoDB server

systemctl start mongod

Add MongoDB user for Unifi DB

Enter MongoDB shell using mongo -u root
and use the following command, make sure to update the ip before running the commmand

db.getSiblingDB("Unifi").createUser({user: "Unifi", pwd: passwordPrompt(), roles: [{role: "dbOwner", db: "Unifi"},{role: "dbOwner", db: "Unifi_stat"}],authenticationRestrictions: [ { clientSource: [ "<UnifiIP>" ] } ]});

Setup Unifi server

Install dummy mongodb-server
the dummy package is created as .deb with equivs,
and can be installed using dpkg

Content of mongodb-org-server.equivs

Package: mongodb-org-server
Version: 4.4.28
Maintainer: PKG Builder <Mailer@localhost>
Architecture: all
Description: Dummy MongoDB database server
 A dummy package so that Unifi will install without MongoDB locally installed

Setup Unifi server
Install Unfi the normal way Official documentation.

Add the following to /usr/lib/Unifi/data/system.properties

db.mongo.local=false
db.mongo.uri=mongodb://Unifi:<UnifiDBPassword>@27017:PORT/Unifi
statdb.mongo.uri=mongodb://Unifi:<UnifiDBPassword>@27017:PORT/Unifi_stat
Unifi.db.name=Unifi