Я решил запустить Unifi Controller в контейнере Linux, так как я прочитал и погуглил, что он работает только с MongoDB.
Ниже приведен фрагмент compose-docker, который работает отлично, он также запускает оба Unifi Controller. Контейнер MongoDB... но работает только тогда, когда на стороне MongoDB нет типа аутентификации....хорошо, это хорошо, но с точки зрения безопасности это не так хорошо....поэтому я хотел включить аутентификацию в базе данных MongoDB и заставить Unifi Controller выполнять аутентификацию по ней.
Я запускаю этот фрагмент через портейнер, как вы можете видеть, моя единственная среда в unifi-контроллере — это >>>> "DB_URI: mongodb://unifi:12345678@test_mongo/unifi
STATDB_URI: mongodb://unifi:12345678@test_mongo/unifi_stat
DB_NAME: unifi
После запуска этого фрагмента unifi_controller пытаюсь использовать эти учетные записи для входа в базу данных mongo, это невозможно, и это нормально, потому что я не создавал эти учетные записи тем не менее, в mongo db.....mongo db работает нормально без какой-либо аутентификации, в данный момент я проверил через Compass и могу войти в БД
собираюсь создать те учетные записи, которые указаны в среде unifi_controller при запуске docker-compose.... сначала я создал учетную запись root в «admin», после этого я создал две учетные записи для базы данных «unifi» и второй для "unifi_stat"....
< li>окей, на данный момент все хорошо, unifi_controller удалось войти в систему с этими учетными данными и автоматически создавать базы данных "unifi" и "unifi stats"..... но я "аутентификация в данный момент все еще отключена"
в portainer перешел в контейнер «mongo» и в поле команды добавил «--auth», и теперь он выглядит так: «mongod» «--auth»......
перезапустил контейнер mongo, контроллер unifi может успешно войти в систему и аутентифицироваться, что я вижу в журналах Mongo.
Я решил запустить Unifi Controller в контейнере Linux, так как я прочитал и погуглил, что он работает только с MongoDB. Ниже приведен фрагмент compose-docker, который работает отлично, он также запускает оба Unifi Controller. Контейнер MongoDB... [b]но работает[/b] только тогда, когда на стороне MongoDB нет [b]типа аутентификации[/b]....хорошо, это хорошо, но с точки зрения безопасности это не так хорошо....поэтому я хотел [b]включить аутентификацию в базе данных MongoDB[/b] и заставить Unifi Controller выполнять аутентификацию по ней. [list] [*]Я запускаю этот фрагмент через портейнер, как вы можете видеть, моя единственная среда в unifi-контроллере — это >>>> "DB_URI: mongodb://unifi:12345678@test_mongo/unifi STATDB_URI: mongodb://unifi:12345678@test_mongo/unifi_stat DB_NAME: unifi
[*]После запуска этого фрагмента unifi_controller пытаюсь использовать эти учетные записи для входа в базу данных mongo, это невозможно, и [b]это нормально, потому что[/b] я [b]не создавал эти учетные записи тем не менее,[/b] в mongo db.....mongo db работает нормально без какой-либо аутентификации, в данный момент я проверил через Compass и могу войти в БД
[*]собираюсь создать те учетные записи, которые указаны в среде unifi_controller при запуске docker-compose.... сначала я создал учетную запись root в «admin», после этого я создал две учетные записи для базы данных «unifi» и второй для "unifi_stat"....
db.createUser({ user: "unifi", pwd: "12345678", // Replace with a strong password roles: [ { role: "dbOwner", db: "unifi_stat" }, { role: "readWrite", db: "unifi_stat" } { role: "userAdmin", db: "unifi" }, { role: "listCollectionsRole", db: "unifi" }, #custom role ] }); [/code] ##################################### ############################ [list] < li>окей, на данный момент все хорошо, unifi_controller удалось войти в систему с этими учетными данными и автоматически создавать базы данных "unifi" и "unifi stats"..... но я [b]"аутентификация в данный момент все еще отключена"[/b]
[*]в portainer перешел в контейнер «mongo» и в поле команды добавил «--auth», и теперь он выглядит так: «mongod» «--auth»......
[*]перезапустил контейнер mongo, контроллер unifi может успешно войти в систему и аутентифицироваться, что я вижу в журналах Mongo.
[/list] ** но проблема в том, что здесь ** [code]Caused by: com.mongodb.MongoCommandException: Command failed with error 13 (Unauthorized): 'not authorized on unifi_stat to execute command { listCollections: 1, cursor: {}, nameOnly: true, $db: "unifi_stat", lsid: { id: UUID("ae95edea-70d5-4427-9780-3549e80deecb") } }' on server test_mongo:27017. The full response is {"ok": 0.0, "errmsg": "not authorized on unifi_stat to execute command { listCollections: 1, cursor: {}, nameOnly: true, $db: \"unifi_stat\", lsid: { id: UUID(\"ae95edea-70d5-4427-9780-3549e80deecb\") } }", "code": 13, "codeName": "Unauthorized"}[/code] [code][conn105] Unauthorized: not authorized on unifi_stat to execute command { listCollections: 1, cursor: {}, nameOnly: true, $db: "unifi_stat", lsid: { id: UUID("0461caa4-467a-4234-bb71-07d41a1218ad") } }[/code] ================================= =============================================== ======= [code]version: '2.3' services: mongo: image: mongo:3.6 container_name: ${COMPOSE_PROJECT_NAME}_mongo restart: always volumes: - db:/data/db - dbcfg:/data/configdb controller: image: "jacobalberty/unifi:${TAG:-latest}" container_name: ${COMPOSE_PROJECT_NAME}_controller depends_on: - mongo init: true restart: always volumes: - dir:/unifi - data:/unifi/data - log:/unifi/log - cert:/unifi/cert - init:/unifi/init.d - run:/var/run/unifi # Mount local folder for backups and autobackups - ./backup:/unifi/data/backup user: unifi sysctls: net.ipv4.ip_unprivileged_port_start: 0 environment: DB_URI: mongodb://unifi:12345678@test_mongo/unifi?authSource=unifi STATDB_URI: mongodb://unifi:12345678@test_mongo/unifi_stat?authSource=unifi_stat DB_NAME: unifi
ports: - "3478:3478/udp" # STUN - "6789:6789/tcp" # Speed test - "8080:8080/tcp" # Device/ controller comm. - "8443:8443/tcp" # Controller GUI/API as seen in a web browser - "8880:8880/tcp" # HTTP portal redirection - "8843:8843/tcp" # HTTPS portal redirection - "10001:10001/udp" # AP discovery logs: image: bash container_name: ${COMPOSE_PROJECT_NAME}_logs depends_on: - controller command: bash -c 'tail -F /unifi/log/*.log' restart: always volumes: - log:/unifi/log
volumes: db: dbcfg: data: log: cert: init: dir: run: [/code] Я уже не знаю, что именно мне стоит попробовать