Compare commits

..

1 commit

Author SHA1 Message Date
Roman 947d7d2342
Merge 76bcaf322d into 4caf784aac 2024-07-17 19:16:22 +00:00
7 changed files with 434 additions and 397 deletions

View file

@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1 # syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-ubuntu:noble FROM ghcr.io/linuxserver/baseimage-ubuntu:jammy
# set version label # set version label
ARG BUILD_DATE ARG BUILD_DATE
@ -35,7 +35,6 @@ RUN \
"https://dl.ui.com/unifi/${UNIFI_VERSION}/UniFi.unix.zip" && \ "https://dl.ui.com/unifi/${UNIFI_VERSION}/UniFi.unix.zip" && \
unzip /tmp/unifi.zip -d /usr/lib && \ unzip /tmp/unifi.zip -d /usr/lib && \
mv /usr/lib/UniFi /usr/lib/unifi && \ mv /usr/lib/UniFi /usr/lib/unifi && \
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
echo "**** cleanup ****" && \ echo "**** cleanup ****" && \
apt-get clean && \ apt-get clean && \
rm -rf \ rm -rf \

View file

@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1 # syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-noble FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-jammy
# set version label # set version label
ARG BUILD_DATE ARG BUILD_DATE
@ -35,7 +35,6 @@ RUN \
"https://dl.ui.com/unifi/${UNIFI_VERSION}/UniFi.unix.zip" && \ "https://dl.ui.com/unifi/${UNIFI_VERSION}/UniFi.unix.zip" && \
unzip /tmp/unifi.zip -d /usr/lib && \ unzip /tmp/unifi.zip -d /usr/lib && \
mv /usr/lib/UniFi /usr/lib/unifi && \ mv /usr/lib/UniFi /usr/lib/unifi && \
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
echo "**** cleanup ****" && \ echo "**** cleanup ****" && \
apt-get clean && \ apt-get clean && \
rm -rf \ rm -rf \

4
Jenkinsfile vendored
View file

@ -31,8 +31,8 @@ pipeline {
CI_PORT='8443' CI_PORT='8443'
CI_SSL='true' CI_SSL='true'
CI_DELAY='180' CI_DELAY='180'
CI_DOCKERENV='' CI_DOCKERENV='TZ=US/Pacific'
CI_AUTH='' CI_AUTH='user:password'
CI_WEBPATH='' CI_WEBPATH=''
} }
stages { stages {

View file

@ -70,19 +70,21 @@ Starting with version 8.1 of Unifi Network Application, mongodb 3.6 through 7.0
**MongoDB >4.4 on X86_64 Hardware needs a CPU with AVX support. Some lower end Intel CPU models like Celeron and Pentium (before Tiger-Lake) more Details: [Advanced Vector Extensions - Wikipedia](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#CPUs_with_AVX) don't support AVX, but you can still use MongoDB 4.4.** **MongoDB >4.4 on X86_64 Hardware needs a CPU with AVX support. Some lower end Intel CPU models like Celeron and Pentium (before Tiger-Lake) more Details: [Advanced Vector Extensions - Wikipedia](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#CPUs_with_AVX) don't support AVX, but you can still use MongoDB 4.4.**
If you are using the [official mongodb container](https://hub.docker.com/_/mongo/), you can create your user using an `init-mongo.sh` file with the following contents (do not modify; copy/paste as is): If you are using the [official mongodb container](https://hub.docker.com/_/mongo/) in Version >=6, you can create your user using an `init-mongo.js` file with the following contents:
```js
db.getSiblingDB("MONGO_DBNAME").createUser({user: "MONGO_USER", pwd: "MONGO_PASS", roles: [{role: "dbOwner", db: "MONGO_DBNAME"}]});
db.getSiblingDB("MONGO_DBNAME_stat").createUser({user: "MONGO_USER", pwd: "MONGO_PASS", roles: [{role: "dbOwner", db: "MONGO_DBNAME_stat"}]});
```
If you are using mongodb < 6.0, you can create a `init-mongo.sh` file with the following contents:
```sh ```sh
#!/bin/bash #!/bin/bash
if which mongosh > /dev/null 2>&1; then mongo <<EOF
mongo_init_bin='mongosh' use admin
else
mongo_init_bin='mongo'
fi
"${mongo_init_bin}" <<EOF
use ${MONGO_AUTHSOURCE}
db.auth("${MONGO_INITDB_ROOT_USERNAME}", "${MONGO_INITDB_ROOT_PASSWORD}") db.auth("${MONGO_INITDB_ROOT_USERNAME}", "${MONGO_INITDB_ROOT_PASSWORD}")
use ${MONGO_DBNAME}
db.createUser({ db.createUser({
user: "${MONGO_USER}", user: "${MONGO_USER}",
pwd: "${MONGO_PASS}", pwd: "${MONGO_PASS}",
@ -94,20 +96,30 @@ db.createUser({
EOF EOF
``` ```
Mount the sh file into your *mongodb* container, and make sure to set the env vars below with the same values you supplied to the Unifi container. If you are using the Mongo v4 (the latest which does not require AVX):
```js
db.getSiblingDB("MONGO_DBNAME").createUser({user: "MONGO_USER", pwd: "MONGO_PASS", roles: [{role: "dbOwner", db: "MONGO_DBNAME"}, {role: "dbOwner", db: "MONGO_DBNAME_stat"}]});
```
Being sure to replace the placeholders with the same values you supplied to the Unifi container, and mount it into your *mongodb* container.
For example: For example:
MongoDB >= 6.0:
```yaml
unifi-db:
image: docker.io/mongo:<version tag>
container_name: unifi-db
volumes:
- /path/to/data:/data/db
- /path/to/init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js:ro
restart: unless-stopped
```
MongoDB < 6.0:
```yaml ```yaml
unifi-db: unifi-db:
image: docker.io/mongo:<version tag> image: docker.io/mongo:<version tag>
container_name: unifi-db container_name: unifi-db
environment:
- MONGO_INITDB_ROOT_USERNAME=root
- MONGO_INITDB_ROOT_PASSWORD=
- MONGO_USER=unifi
- MONGO_PASS=
- MONGO_DBNAME=unifi
- MONGO_AUTHSOURCE=admin
volumes: volumes:
- /path/to/data:/data/db - /path/to/data:/data/db
- /path/to/init-mongo.sh:/docker-entrypoint-initdb.d/init-mongo.sh:ro - /path/to/init-mongo.sh:/docker-entrypoint-initdb.d/init-mongo.sh:ro
@ -117,6 +129,8 @@ For example:
*Note that the init script method will only work on first run. If you start the Mongodb container without an init script it will generate test data automatically and you will have to manually create your databases, or restart with a clean `/data/db` volume and an init script mounted.* *Note that the init script method will only work on first run. If you start the Mongodb container without an init script it will generate test data automatically and you will have to manually create your databases, or restart with a clean `/data/db` volume and an init script mounted.*
*If you are using the init JS method do not also set `MONGO_INITDB_ROOT_USERNAME`, `MONGO_INITDB_ROOT_PASSWORD`, or any other "INITDB" values as they will cause conflicts. Setting these variables for the .sh file is necessary*
You can also run the commands directly against the database using either `mongo` (< 6.0) or `mongosh` (>= 6.0). You can also run the commands directly against the database using either `mongo` (< 6.0) or `mongosh` (>= 6.0).
### Device Adoption ### Device Adoption
@ -169,15 +183,11 @@ services:
- PUID=1000 - PUID=1000
- PGID=1000 - PGID=1000
- TZ=Etc/UTC - TZ=Etc/UTC
- MONGO_USER=unifi - MONGO_URI=mongodb+srv://unifi:password@unifi.mongodb.net/unifi?retryWrites=true&w=majority&appName=unifi
- MONGO_PASS= - STAT_MONGO_URI=mongodb+srv://unifi:password@unifi.mongodb.net/unifi_stats?retryWrites=true&w=majority&appName=unifi
- MONGO_HOST=unifi-db
- MONGO_PORT=27017
- MONGO_DBNAME=unifi - MONGO_DBNAME=unifi
- MONGO_AUTHSOURCE=admin
- MEM_LIMIT=1024 #optional - MEM_LIMIT=1024 #optional
- MEM_STARTUP=1024 #optional - MEM_STARTUP=1024 #optional
- MONGO_TLS= #optional
volumes: volumes:
- /path/to/unifi-network-application/data:/config - /path/to/unifi-network-application/data:/config
ports: ports:
@ -204,10 +214,8 @@ docker run -d \
-e MONGO_URI=mongodb+srv://unifi:password@unifi.mongodb.net/?retryWrites=true&w=majority&appName=unifi \ -e MONGO_URI=mongodb+srv://unifi:password@unifi.mongodb.net/?retryWrites=true&w=majority&appName=unifi \
-e STAT_MONGO_URI=mongodb+srv://unifi:password@unifi.mongodb.net/?retryWrites=true&w=majority&appName=unifi \ -e STAT_MONGO_URI=mongodb+srv://unifi:password@unifi.mongodb.net/?retryWrites=true&w=majority&appName=unifi \
-e MONGO_DBNAME=unifi \ -e MONGO_DBNAME=unifi \
-e MONGO_AUTHSOURCE=admin \
-e MEM_LIMIT=1024 `#optional` \ -e MEM_LIMIT=1024 `#optional` \
-e MEM_STARTUP=1024 `#optional` \ -e MEM_STARTUP=1024 `#optional` \
-e MONGO_TLS= `#optional` \
-p 8443:8443 \ -p 8443:8443 \
-p 3478:3478/udp \ -p 3478:3478/udp \
-p 10001:10001/udp \ -p 10001:10001/udp \
@ -245,10 +253,10 @@ Containers are configured using parameters passed at runtime (such as those abov
| `-e MONGO_HOST=unifi-db` | Mongodb Hostname. Only evaluated on first run. | | `-e MONGO_HOST=unifi-db` | Mongodb Hostname. Only evaluated on first run. |
| `-e MONGO_PORT=27017` | Mongodb Port. Only evaluated on first run. | | `-e MONGO_PORT=27017` | Mongodb Port. Only evaluated on first run. |
| `-e MONGO_DBNAME=unifi` | Mongodb Database Name (stats DB is automatically suffixed with `_stat`). Only evaluated on first run. | | `-e MONGO_DBNAME=unifi` | Mongodb Database Name (stats DB is automatically suffixed with `_stat`). Only evaluated on first run. |
| `-e MONGO_AUTHSOURCE=admin` | Mongodb [authSource](https://www.mongodb.com/docs/manual/reference/connection-string/#mongodb-urioption-urioption.authSource). For Atlas set to `admin`. Only evaluated on first run. |
| `-e MEM_LIMIT=1024` | Optionally change the Java memory limit (in Megabytes). Set to `default` to reset to default | | `-e MEM_LIMIT=1024` | Optionally change the Java memory limit (in Megabytes). Set to `default` to reset to default |
| `-e MEM_STARTUP=1024` | Optionally change the Java initial/minimum memory (in Megabytes). Set to `default` to reset to default | | `-e MEM_STARTUP=1024` | Optionally change the Java initial/minimum memory (in Megabytes). Set to `default` to reset to default |
| `-e MONGO_TLS=` | Mongodb enable [TLS](https://www.mongodb.com/docs/manual/reference/connection-string/#mongodb-urioption-urioption.tls). Only evaluated on first run. | | `-e MONGO_TLS=` | Mongodb enable [TLS](https://www.mongodb.com/docs/manual/reference/connection-string/#mongodb-urioption-urioption.tls). Only evaluated on first run. |
| `-e MONGO_AUTHSOURCE=` | Mongodb [authSource](https://www.mongodb.com/docs/manual/reference/connection-string/#mongodb-urioption-urioption.authSource). For Atlas set to `admin`.Defaults to `MONGO_DBNAME`.Only evaluated on first run. |
| `-v /config` | Persistent config files | | `-v /config` | Persistent config files |
## Environment variables from files (Docker secrets) ## Environment variables from files (Docker secrets)
@ -412,8 +420,6 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions ## Versions
* **11.08.24:** - **Important**: The mongodb init instructions have been updated to enable auth ([RBAC](https://www.mongodb.com/docs/manual/core/authorization/#role-based-access-control)). We have been notified that if RBAC is not enabled, the official mongodb container allows remote access to the db contents over port 27017 without credentials. If you set up the mongodb container with the old instructions we provided, you should not map or expose port 27017. If you would like to enable auth, the easiest way is to create new instances of both unifi and mongodb with the new instructions and restore unifi from a backup.
* **11.08.24:** - Rebase to Ubuntu Noble.
* **04.03.24:** - Install from zip package instead of deb. * **04.03.24:** - Install from zip package instead of deb.
* **17.10.23:** - Add environment variables for TLS and authSource to support Atlas and new MongoDB versions. * **17.10.23:** - Add environment variables for TLS and authSource to support Atlas and new MongoDB versions.
* **05.09.23:** - Initial release. * **05.09.23:** - Initial release.

View file

@ -22,6 +22,6 @@ repo_vars:
- CI_PORT='8443' - CI_PORT='8443'
- CI_SSL='true' - CI_SSL='true'
- CI_DELAY='180' - CI_DELAY='180'
- CI_DOCKERENV='' - CI_DOCKERENV='TZ=US/Pacific'
- CI_AUTH='' - CI_AUTH='user:password'
- CI_WEBPATH='' - CI_WEBPATH=''

View file

@ -1,330 +1,352 @@
NAME VERSION TYPE NAME VERSION TYPE
ace java-archive ace java-archive
adduser 3.137ubuntu1 deb adduser 3.118ubuntu5 deb
analytics-api 2.0.0 java-archive analytics-api 2.0.0 java-archive
analytics-client 2.0.0 java-archive analytics-client 2.0.0 java-archive
analytics-privacy 2.0.0 java-archive analytics-privacy 2.0.0 java-archive
angus-activation 2.0.2 java-archive angus-activation 2.0.2 java-archive
angus-core 2.0.3 java-archive angus-core 2.0.3 java-archive
angus-mail 2.0.3 java-archive angus-mail 2.0.3 java-archive
annotations 3.0.1 java-archive annotations 3.0.1 java-archive
antlr4-runtime 4.5.3 java-archive antlr4-runtime 4.5.3 java-archive
api-common 1.7.0 java-archive api-common 1.7.0 java-archive
apigateway-generic-java-sdk 1.3 java-archive apigateway-generic-java-sdk 1.3 java-archive
apt 2.7.14build2 deb apt 2.4.12 deb
apt-utils 2.7.14build2 deb apt-utils 2.4.12 deb
asn-one 0.6.0 java-archive asn-one 0.6.0 java-archive
aws-iot-device-sdk-java 1.2.0 java-archive aws-iot-device-sdk-java 1.2.0 java-archive
aws-java-sdk-core 1.11.409 java-archive aws-java-sdk-core 1.11.409 java-archive
aws-java-sdk-s3 1.11.409 java-archive aws-java-sdk-s3 1.11.409 java-archive
base-files 13ubuntu10 deb base-files 12ubuntu4.6 deb
base-passwd 3.6.3build1 deb base-passwd 3.5.52build1 deb
bash 5.2.21-2ubuntu4 deb bash 5.1-6ubuntu1.1 deb
bcpkix-jdk18on 1.75 java-archive bcpkix-jdk18on 1.75 java-archive
bcprov-jdk18on 1.75 java-archive bcprov-jdk18on 1.75 java-archive
bcutil-jdk18on 1.75 java-archive bcutil-jdk18on 1.75 java-archive
bsdutils 1:2.39.3-9ubuntu6 deb bsdutils 1:2.37.2-4ubuntu3.4 deb
bson 4.11.2 java-archive bson 4.11.2 java-archive
bson-record-codec 4.11.2 java-archive bson-record-codec 4.11.2 java-archive
ca-certificates 20240203 deb ca-certificates 20230311ubuntu0.22.04.1 deb
ca-certificates-java java-archive ca-certificates-java java-archive
ca-certificates-java 20240118 deb ca-certificates-java 20190909ubuntu1.2 deb
catatonit 0.1.7-1 deb catatonit 0.1.7-1 deb
checker-qual 3.42.0 java-archive checker-qual 3.42.0 java-archive
classmate 1.6.0 java-archive classmate 1.6.0 java-archive
coloring 1.0 java-archive coloring 1.0 java-archive
commons-beanutils 1.9.4 java-archive commons-beanutils 1.9.4 java-archive
commons-cli 1.4 java-archive commons-cli 1.4 java-archive
commons-codec 1.16.1 java-archive commons-codec 1.16.1 java-archive
commons-daemon 1.0.15 java-archive commons-daemon 1.0.15 java-archive
commons-io 2.16.0 java-archive commons-io 2.16.0 java-archive
commons-lang3 3.13.0 java-archive commons-lang3 3.13.0 java-archive
commons-logging 1.3.0 java-archive commons-logging 1.3.0 java-archive
commons-net 3.10.0 java-archive commons-net 3.10.0 java-archive
commons-text 1.11.0 java-archive commons-text 1.11.0 java-archive
commons-validator 1.8.0 java-archive commons-validator 1.8.0 java-archive
compiler 0.9.6 java-archive compiler 0.9.6 java-archive
coreutils 9.4-3ubuntu6 deb coreutils 8.32-4.1ubuntu1.2 deb
cron 3.0pl1-184ubuntu2 deb cron 3.0pl1-137ubuntu3 deb
cron-daemon-common 3.0pl1-184ubuntu2 deb cron4j 2.2.5 java-archive
cron4j 2.2.5 java-archive curl 7.81.0-1ubuntu1.16 deb
curl 8.5.0-2ubuntu10.2 deb dash 0.5.11+git20210903+057cd650a4ed-3build1 deb
dash 0.5.12-6ubuntu5 deb debconf 1.5.79ubuntu1 deb
debconf 1.5.86ubuntu1 deb debianutils 5.5-1ubuntu2 deb
debianutils 5.17build1 deb diffutils 1:3.8-0ubuntu2 deb
diffutils 1:3.10-1build1 deb dirmngr 2.2.27-3ubuntu2.1 deb
dirmngr 2.4.4-2ubuntu17 deb dom4j 2.1.4 java-archive
dom4j 2.1.4 java-archive dpkg 1.21.1ubuntu2.3 deb
dpkg 1.22.6ubuntu6 deb e2fsprogs 1.46.5-2ubuntu1.1 deb
e2fsprogs 1.47.0-2.4~exp1ubuntu4 deb ecj 3.33.0 java-archive
ecj 3.33.0 java-archive eddsa 0.3.0 java-archive
eddsa 0.3.0 java-archive error_prone_annotations 2.26.1 java-archive
error_prone_annotations 2.26.1 java-archive failureaccess 1.0.2 java-archive
failureaccess 1.0.2 java-archive findutils 4.8.0-1ubuntu3 deb
findutils 4.9.0-5build1 deb fontconfig-config 2.13.1-4.2ubuntu5 deb
gax 1.31.0 java-archive fonts-dejavu-core 2.37-2build1 deb
gcc-14-base 14-20240412-0ubuntu1 deb gax 1.31.0 java-archive
gnupg 2.4.4-2ubuntu17 deb gcc-12-base 12.3.0-1ubuntu1~22.04 deb
gnupg-l10n 2.4.4-2ubuntu17 deb gnupg 2.2.27-3ubuntu2.1 deb
gnupg-utils 2.4.4-2ubuntu17 deb gnupg-l10n 2.2.27-3ubuntu2.1 deb
google-api-client 1.26.0 java-archive gnupg-utils 2.2.27-3ubuntu2.1 deb
google-api-services-drive v3-rev20180830-1.26.0 java-archive google-api-client 1.26.0 java-archive
google-api-services-drive-v3-rev20180830 1.26.0 java-archive google-api-services-drive v3-rev20180830-1.26.0 java-archive
google-api-services-storage v1-rev135-1.24.1 java-archive google-api-services-drive-v3-rev20180830 1.26.0 java-archive
google-api-services-storage-v1-rev135 1.24.1 java-archive google-api-services-storage v1-rev135-1.24.1 java-archive
google-auth-library-credentials 0.11.0 java-archive google-api-services-storage-v1-rev135 1.24.1 java-archive
google-auth-library-oauth2-http 0.11.0 java-archive google-auth-library-credentials 0.11.0 java-archive
google-cloud-core 1.44.0 java-archive google-auth-library-oauth2-http 0.11.0 java-archive
google-cloud-core-http 1.44.0 java-archive google-cloud-core 1.44.0 java-archive
google-cloud-storage 1.44.0 java-archive google-cloud-core-http 1.44.0 java-archive
google-http-client 1.26.0 java-archive google-cloud-storage 1.44.0 java-archive
google-http-client-appengine 1.24.1 java-archive google-http-client 1.26.0 java-archive
google-http-client-gson 1.26.0 java-archive google-http-client-appengine 1.24.1 java-archive
google-http-client-jackson 1.24.1 java-archive google-http-client-gson 1.26.0 java-archive
google-http-client-jackson2 1.26.0 java-archive google-http-client-jackson 1.24.1 java-archive
google-http-client-jdo 1.26.0 java-archive google-http-client-jackson2 1.26.0 java-archive
google-oauth-client 1.26.0 java-archive google-http-client-jdo 1.26.0 java-archive
gpg 2.4.4-2ubuntu17 deb google-oauth-client 1.26.0 java-archive
gpg-agent 2.4.4-2ubuntu17 deb gpg 2.2.27-3ubuntu2.1 deb
gpg-wks-client 2.4.4-2ubuntu17 deb gpg-agent 2.2.27-3ubuntu2.1 deb
gpgconf 2.4.4-2ubuntu17 deb gpg-wks-client 2.2.27-3ubuntu2.1 deb
gpgsm 2.4.4-2ubuntu17 deb gpg-wks-server 2.2.27-3ubuntu2.1 deb
gpgv 2.4.4-2ubuntu17 deb gpgconf 2.2.27-3ubuntu2.1 deb
grep 3.11-4build1 deb gpgsm 2.2.27-3ubuntu2.1 deb
gson 2.9.0 java-archive gpgv 2.2.27-3ubuntu2.1 deb
guava 33.1.0-jre java-archive grep 3.7-1build1 deb
gzip 1.12-1ubuntu3 deb gson 2.9.0 java-archive
hibernate-validator 8.0.1.Final java-archive guava 33.1.0-jre java-archive
hostname 3.23+nmu2ubuntu2 deb gzip 1.10-4ubuntu4.1 deb
httpclient 4.5.5 java-archive hibernate-validator 8.0.1.Final java-archive
httpclient5 5.2.3 java-archive hostname 3.23ubuntu2 deb
httpcore 4.4.16 java-archive httpclient 4.5.5 java-archive
httpcore5 5.2.4 java-archive httpclient5 5.2.3 java-archive
httpcore5-h2 5.2.4 java-archive httpcore 4.4.16 java-archive
imap 2.0.3 java-archive httpcore5 5.2.4 java-archive
init-system-helpers 1.66ubuntu1 deb httpcore5-h2 5.2.4 java-archive
istack-commons-runtime 4.1.2 java-archive imap 2.0.3 java-archive
j2objc-annotations 1.1 java-archive init-system-helpers 1.62 deb
jackson-annotations 2.15.4 java-archive istack-commons-runtime 4.1.2 java-archive
jackson-core 2.15.4 java-archive j2objc-annotations 1.1 java-archive
jackson-databind 2.15.4 java-archive jackson-annotations 2.15.4 java-archive
jackson-datatype-jdk8 2.15.4 java-archive jackson-core 2.15.4 java-archive
jackson-datatype-jsr310 2.15.4 java-archive jackson-databind 2.15.4 java-archive
jackson-module-parameter-names 2.15.4 java-archive jackson-datatype-jdk8 2.15.4 java-archive
jakarta.activation-api 2.1.3 java-archive jackson-datatype-jsr310 2.15.4 java-archive
jakarta.annotation-api 2.1.1 java-archive jackson-module-parameter-names 2.15.4 java-archive
jakarta.mail 2.0.3 java-archive jakarta.activation-api 2.1.3 java-archive
jakarta.mail-api 2.1.3 java-archive (+1 duplicate) jakarta.annotation-api 2.1.1 java-archive
jakarta.validation-api 3.0.2 java-archive jakarta.mail 2.0.3 java-archive
jakarta.xml.bind-api 4.0.2 java-archive jakarta.mail-api 2.1.3 java-archive (+1 duplicate)
java-binme 2.0.0 java-archive jakarta.validation-api 3.0.2 java-archive
java-common 0.75+exp1 deb jakarta.xml.bind-api 4.0.2 java-archive
java-ipv6 0.17 java-archive java-binme 2.0.0 java-archive
java-semver 0.9.0 java-archive java-common 0.72build2 deb
java-ucp 1.1 java-archive java-ipv6 0.17 java-archive
java-uuid-generator 4.3.0 java-archive java-semver 0.9.0 java-archive
java10-shim 20240325.1 java-archive java-ucp 1.1 java-archive
java8-shim 20240325.1 java-archive java-uuid-generator 4.3.0 java-archive
jaxb-api 2.2.12 java-archive java10-shim 20240325.1 java-archive
jaxb-core 4.0.5 java-archive java8-shim 20240325.1 java-archive
jaxb-impl 4.0.5 java-archive jaxb-api 2.2.12 java-archive
jaxb-runtime 4.0.5 java-archive jaxb-core 4.0.5 java-archive
jaxen 2.0.0 java-archive jaxb-impl 4.0.5 java-archive
jbcrypt 0.4 java-archive jaxb-runtime 4.0.5 java-archive
jboss-logging 3.5.3.Final java-archive jaxen 2.0.0 java-archive
jcl-over-slf4j 2.0.13 java-archive jbcrypt 0.4 java-archive
jenetics 4.2.0 java-archive jboss-logging 3.5.3.Final java-archive
jgrapht-core 1.0.1 java-archive jcl-over-slf4j 2.0.13 java-archive
jgrapht-ext 1.0.1 java-archive jenetics 4.2.0 java-archive
jgraphx 2.0.0.1 java-archive jgrapht-core 1.0.1 java-archive
jmdns 3.4.1 java-archive jgrapht-ext 1.0.1 java-archive
jna 5.12.1 java-archive jgraphx 2.0.0.1 java-archive
joda-time 2.10.4 java-archive jmdns 3.4.1 java-archive
jq 1.7.1-3build1 deb jna 5.12.1 java-archive
jrt-fs 17.0.12 java-archive joda-time 2.10.4 java-archive
json 20231013 java-archive jq 1.6-2.1ubuntu3 deb
jsr305 3.0.1 java-archive jrt-fs 17.0.11 java-archive
jsr305 3.0.2 java-archive json 20231013 java-archive
jstl 1.2 java-archive jsr305 3.0.1 java-archive
jstun 0.7.4 java-archive jsr305 3.0.2 java-archive
jsvc 1.0.15-11build1 deb jstl 1.2 java-archive
jul-to-slf4j 2.0.13 java-archive jstun 0.7.4 java-archive
keyboxd 2.4.4-2ubuntu17 deb jsvc 1.0.15-8 deb
krb5-locales 1.20.1-6ubuntu2 deb jul-to-slf4j 2.0.13 java-archive
lazysodium-java 5.1.4 java-archive lazysodium-java 5.1.4 java-archive
libacl1 2.3.2-1build1 deb libacl1 2.3.1-1 deb
libapt-pkg6.0t64 2.7.14build2 deb libapt-pkg6.0 2.4.12 deb
libassuan0 2.5.6-1build1 deb libasound2 1.2.6.1-1ubuntu1 deb
libattr1 1:2.5.2-1build1 deb libasound2-data 1.2.6.1-1ubuntu1 deb
libaudit-common 1:3.1.2-2.1build1 deb libassuan0 2.5.5-1build1 deb
libaudit1 1:3.1.2-2.1build1 deb libattr1 1:2.5.1-1build1 deb
libblkid1 2.39.3-9ubuntu6 deb libaudit-common 1:3.0.7-1build1 deb
libbrotli1 1.1.0-2build2 deb libaudit1 1:3.0.7-1build1 deb
libbsd0 0.12.1-1build1 deb libavahi-client3 0.8-5ubuntu5.2 deb
libbz2-1.0 1.0.8-5.1 deb libavahi-common-data 0.8-5ubuntu5.2 deb
libc-bin 2.39-0ubuntu8.2 deb libavahi-common3 0.8-5ubuntu5.2 deb
libc6 2.39-0ubuntu8.2 deb libblkid1 2.37.2-4ubuntu3.4 deb
libcap-ng0 0.8.4-2build2 deb libbrotli1 1.0.9-2build6 deb
libcap2 1:2.66-5ubuntu2 deb libbsd0 0.11.5-1 deb
libcom-err2 1.47.0-2.4~exp1ubuntu4 deb libbz2-1.0 1.0.8-5build1 deb
libcommons-daemon-java 1.0.15-11build1 deb libc-bin 2.35-0ubuntu3.8 deb
libcrypt1 1:4.4.36-4build1 deb libc6 2.35-0ubuntu3.8 deb
libcurl4t64 8.5.0-2ubuntu10.2 deb libcap-ng0 0.7.9-2.2build3 deb
libdb5.3t64 5.3.28+dfsg2-7 deb libcap2 1:2.44-1ubuntu0.22.04.1 deb
libdebconfclient0 0.271ubuntu3 deb libcom-err2 1.46.5-2ubuntu1.1 deb
libext2fs2t64 1.47.0-2.4~exp1ubuntu4 deb libcommons-daemon-java 1.0.15-8 deb
libffi8 3.4.6-1build1 deb libcrypt1 1:4.4.27-1 deb
libgcc-s1 14-20240412-0ubuntu1 deb libcups2 2.4.1op1-1ubuntu4.10 deb
libgcrypt20 1.10.3-2build1 deb libcurl4 7.81.0-1ubuntu1.16 deb
libgmp10 2:6.3.0+dfsg-2ubuntu6 deb libdb5.3 5.3.28+dfsg1-0.8ubuntu3 deb
libgnutls30t64 3.8.3-1.1ubuntu3.1 deb libdbus-1-3 1.12.20-2ubuntu4.1 deb
libgpg-error0 1.47-3build2 deb libdebconfclient0 0.261ubuntu1 deb
libgssapi-krb5-2 1.20.1-6ubuntu2 deb libexpat1 2.4.7-1ubuntu0.3 deb
libhogweed6t64 3.9.1-2.2build1 deb libext2fs2 1.46.5-2ubuntu1.1 deb
libidn2-0 2.3.7-2build1 deb libffi8 3.4.2-4 deb
libjpeg-turbo8 2.1.5-2ubuntu2 deb libfontconfig1 2.13.1-4.2ubuntu5 deb
libjpeg8 8c-2ubuntu11 deb libfreetype6 2.11.1+dfsg-1ubuntu0.2 deb
libjq1 1.7.1-3build1 deb libgcc-s1 12.3.0-1ubuntu1~22.04 deb
libk5crypto3 1.20.1-6ubuntu2 deb libgcrypt20 1.9.4-3ubuntu3 deb
libkeyutils1 1.6.3-3build1 deb libglib2.0-0 2.72.4-0ubuntu2.3 deb
libkrb5-3 1.20.1-6ubuntu2 deb libgmp10 2:6.2.1+dfsg-3ubuntu1 deb
libkrb5support0 1.20.1-6ubuntu2 deb libgnutls30 3.7.3-4ubuntu1.5 deb
libksba8 1.6.6-1build1 deb libgpg-error0 1.43-3 deb
liblcms2-2 2.14-2build1 deb libgraphite2-3 1.3.14-1build2 deb
libldap-common 2.6.7+dfsg-1~exp1ubuntu8 deb libgssapi-krb5-2 1.19.2-2ubuntu0.3 deb
libldap2 2.6.7+dfsg-1~exp1ubuntu8 deb libharfbuzz0b 2.7.4-1ubuntu3.1 deb
liblz4-1 1.9.4-1build1 deb libhogweed6 3.7.3-1build2 deb
liblzma5 5.6.1+really5.4.5-1 deb libidn2-0 2.3.2-2build1 deb
libmd0 1.1.0-2build1 deb libjpeg-turbo8 2.1.2-0ubuntu1 deb
libmount1 2.39.3-9ubuntu6 deb libjpeg8 8c-2ubuntu10 deb
libncursesw6 6.4+20240113-1ubuntu2 deb libjq1 1.6-2.1ubuntu3 deb
libnettle8t64 3.9.1-2.2build1 deb libk5crypto3 1.19.2-2ubuntu0.3 deb
libnghttp2-14 1.59.0-1ubuntu0.1 deb libkeyutils1 1.6.1-2ubuntu3 deb
libnpth0t64 1.6-3.1build1 deb libkrb5-3 1.19.2-2ubuntu0.3 deb
libnspr4 2:4.35-1.1build1 deb libkrb5support0 1.19.2-2ubuntu0.3 deb
libnss3 2:3.98-1build1 deb libksba8 1.6.0-2ubuntu0.2 deb
libonig5 6.9.9-1build1 deb liblcms2-2 2.12~rc1-2build2 deb
libp11-kit0 0.25.3-4ubuntu2 deb libldap-2.5-0 2.5.18+dfsg-0ubuntu0.22.04.1 deb
libpam-modules 1.5.3-5ubuntu5.1 deb libldap-common 2.5.18+dfsg-0ubuntu0.22.04.1 deb
libpam-modules-bin 1.5.3-5ubuntu5.1 deb liblz4-1 1.9.3-2build2 deb
libpam-runtime 1.5.3-5ubuntu5.1 deb liblzma5 5.2.5-2ubuntu1 deb
libpam0g 1.5.3-5ubuntu5.1 deb libmd0 1.0.4-1build1 deb
libpcre2-8-0 10.42-4ubuntu2 deb libmount1 2.37.2-4ubuntu3.4 deb
libpcsclite1 2.0.3-1build1 deb libncurses6 6.3-2ubuntu0.1 deb
libpopt0 1.19+dfsg-1build1 deb libncursesw6 6.3-2ubuntu0.1 deb
libproc2-0 2:4.0.4-4ubuntu3 deb libnettle8 3.7.3-1build2 deb
libpsl5t64 0.21.2-1.1build1 deb libnghttp2-14 1.43.0-1ubuntu0.2 deb
libreadline8t64 8.2-4build1 deb libnpth0 1.6-3build2 deb
librtmp1 2.4+20151223.gitfa8646d.1-2build7 deb libnsl2 1.3.0-2build2 deb
libsasl2-2 2.1.28+dfsg1-5ubuntu3 deb libnspr4 2:4.35-0ubuntu0.22.04.1 deb
libsasl2-modules 2.1.28+dfsg1-5ubuntu3 deb libnss3 2:3.98-0ubuntu0.22.04.2 deb
libsasl2-modules-db 2.1.28+dfsg1-5ubuntu3 deb libonig5 6.9.7.1-2build1 deb
libseccomp2 2.5.5-1ubuntu3 deb libp11-kit0 0.24.0-6build1 deb
libselinux1 3.5-2ubuntu2 deb libpam-modules 1.4.0-11ubuntu2.4 deb
libsemanage-common 3.5-1build5 deb libpam-modules-bin 1.4.0-11ubuntu2.4 deb
libsemanage2 3.5-1build5 deb libpam-runtime 1.4.0-11ubuntu2.4 deb
libsepol2 3.5-2build1 deb libpam0g 1.4.0-11ubuntu2.4 deb
libsmartcols1 2.39.3-9ubuntu6 deb libpcre2-8-0 10.39-3ubuntu0.1 deb
libsqlite3-0 3.45.1-1ubuntu2 deb libpcre3 2:8.39-13ubuntu0.22.04.1 deb
libss2 1.47.0-2.4~exp1ubuntu4 deb libpcsclite1 1.9.5-3ubuntu1 deb
libssh-4 0.10.6-2build2 deb libpng16-16 1.6.37-3build5 deb
libssl3t64 3.0.13-0ubuntu3.2 deb libpopt0 1.18-3build1 deb
libstdc++6 14-20240412-0ubuntu1 deb libprocps8 2:3.3.17-6ubuntu2.1 deb
libsystemd0 255.4-1ubuntu8.2 deb libpsl5 0.21.0-1.2build2 deb
libtasn1-6 4.19.0-3build1 deb libreadline8 8.1.2-1 deb
libtinfo6 6.4+20240113-1ubuntu2 deb librtmp1 2.4+20151223.gitfa8646d.1-2build4 deb
libudev1 255.4-1ubuntu8.2 deb libsasl2-2 2.1.27+dfsg2-3ubuntu1.2 deb
libunistring5 1.1-2build1 deb libsasl2-modules 2.1.27+dfsg2-3ubuntu1.2 deb
libuuid1 2.39.3-9ubuntu6 deb libsasl2-modules-db 2.1.27+dfsg2-3ubuntu1.2 deb
libxxhash0 0.8.2-2build1 deb libseccomp2 2.5.3-2ubuntu2 deb
libzstd1 1.5.5+dfsg2-2build1 deb libselinux1 3.3-1build2 deb
locales 2.39-0ubuntu8.2 deb libsemanage-common 3.3-1build2 deb
log4j-api 2.21.1 java-archive libsemanage2 3.3-1build2 deb
log4j-to-slf4j 2.21.1 java-archive libsepol2 3.3-1build1 deb
logback-access 1.4.14 java-archive libsmartcols1 2.37.2-4ubuntu3.4 deb
logback-classic 1.4.14 java-archive libsqlite3-0 3.37.2-2ubuntu0.3 deb
logback-core 1.4.14 java-archive libss2 1.46.5-2ubuntu1.1 deb
logging-mailhandler 2.0.3 java-archive libssh-4 0.9.6-2ubuntu0.22.04.3 deb
login 1:4.13+dfsg1-4ubuntu3 deb libssl3 3.0.2-0ubuntu1.16 deb
logrotate 3.21.0-2build1 deb libstdc++6 12.3.0-1ubuntu1~22.04 deb
logsave 1.47.0-2.4~exp1ubuntu4 deb libsystemd0 249.11-0ubuntu3.12 deb
mawk 1.3.4.20240123-1build1 deb libtasn1-6 4.18.0-4build1 deb
micrometer-commons 1.12.5 java-archive libtinfo6 6.3-2ubuntu0.1 deb
micrometer-observation 1.12.5 java-archive libtirpc-common 1.3.2-2ubuntu0.1 deb
minimal-json 0.9.5 java-archive libtirpc3 1.3.2-2ubuntu0.1 deb
mongodb-driver-core 4.11.2 java-archive libudev1 249.11-0ubuntu3.12 deb
mongodb-driver-legacy 4.11.2 java-archive libunistring2 1.0-1 deb
mongodb-driver-sync 4.11.2 java-archive libuuid1 2.37.2-4ubuntu3.4 deb
mount 2.39.3-9ubuntu6 deb libxxhash0 0.8.1-1 deb
ncurses-base 6.4+20240113-1ubuntu2 deb libzstd1 1.4.8+dfsg-3build1 deb
ncurses-bin 6.4+20240113-1ubuntu2 deb locales 2.35-0ubuntu3.8 deb
netcat-openbsd 1.226-1ubuntu2 deb log4j-api 2.21.1 java-archive
openjdk-17-jre-headless 17.0.12+7-1ubuntu2~24.04 deb log4j-to-slf4j 2.21.1 java-archive
openssh 1.0 java-archive logback-access 1.4.14 java-archive
openssl 3.0.13-0ubuntu3.2 deb logback-classic 1.4.14 java-archive
org.eclipse.paho.client.mqttv3 1.1.0 java-archive logback-core 1.4.14 java-archive
owasp-java-html-sanitizer 20240325.1 java-archive logging-mailhandler 2.0.3 java-archive
passwd 1:4.13+dfsg1-4ubuntu3 deb login 1:4.8.1-2ubuntu2.2 deb
perl-base 5.38.2-3.2build2 deb logrotate 3.19.0-1ubuntu1.1 deb
pinentry-curses 1.2.1-3ubuntu5 deb logsave 1.46.5-2ubuntu1.1 deb
pop3 2.0.3 java-archive lsb-base 11.1.0ubuntu4 deb
procps 2:4.0.4-4ubuntu3 deb mawk 1.3.4.20200120-3 deb
proto-google-common-protos 1.12.0 java-archive micrometer-commons 1.12.5 java-archive
proto-google-iam-v1 0.12.0 java-archive micrometer-observation 1.12.5 java-archive
protobuf-java 3.6.0 java-archive minimal-json 0.9.5 java-archive
protobuf-java-util 3.6.0 java-archive mongodb-driver-core 4.11.2 java-archive
publicsuffix 20231001.0357-0.1 deb mongodb-driver-legacy 4.11.2 java-archive
pull-parser 2.1.10 java-archive mongodb-driver-sync 4.11.2 java-archive
radclient4 4.0 java-archive mount 2.37.2-4ubuntu3.4 deb
reactive-streams 1.0.4 java-archive ncurses-base 6.3-2ubuntu0.1 deb
reactor-core 3.6.5 java-archive ncurses-bin 6.3-2ubuntu0.1 deb
readline-common 8.2-4build1 deb netcat 1.218-4ubuntu1 deb
relaxngDatatype 20020414 java-archive netcat-openbsd 1.218-4ubuntu1 deb
resource-loader 2.0.2 java-archive openjdk-17-jre-headless 17.0.11+9-1~22.04.1 deb
sed 4.9-2build1 deb openssh 1.0 java-archive
sensible-utils 0.0.22 deb openssl 3.0.2-0ubuntu1.16 deb
slf4j-api 2.0.13 java-archive org.eclipse.paho.client.mqttv3 1.1.0 java-archive
smtp 2.0.3 java-archive owasp-java-html-sanitizer 20240325.1 java-archive
snakeyaml 2.2 java-archive passwd 1:4.8.1-2ubuntu2.2 deb
snappy-java 1.1.10.5 java-archive perl-base 5.34.0-3ubuntu1.3 deb
spring-aop 6.1.6 java-archive pinentry-curses 1.1.1-1build2 deb
spring-beans 6.1.6 java-archive pop3 2.0.3 java-archive
spring-boot 3.2.5 java-archive procps 2:3.3.17-6ubuntu2.1 deb
spring-boot-autoconfigure 3.2.5 java-archive proto-google-common-protos 1.12.0 java-archive
spring-boot-starter 3.2.5 java-archive proto-google-iam-v1 0.12.0 java-archive
spring-boot-starter-data-mongodb 3.2.5 java-archive protobuf-java 3.6.0 java-archive
spring-boot-starter-json 3.2.5 java-archive protobuf-java-util 3.6.0 java-archive
spring-boot-starter-logging 3.2.5 java-archive publicsuffix 20211207.1025-1 deb
spring-boot-starter-tomcat 3.2.5 java-archive pull-parser 2.1.10 java-archive
spring-boot-starter-validation 3.2.5 java-archive radclient4 4.0 java-archive
spring-boot-starter-web 3.2.5 java-archive reactive-streams 1.0.4 java-archive
spring-boot-starter-websocket 3.2.5 java-archive reactor-core 3.6.5 java-archive
spring-context 6.1.6 java-archive readline-common 8.1.2-1 deb
spring-core 6.1.6 java-archive relaxngDatatype 20020414 java-archive
spring-data-commons 3.2.5 java-archive resource-loader 2.0.2 java-archive
spring-data-mongodb 4.2.5 java-archive sed 4.8-1ubuntu2 deb
spring-expression 6.1.6 java-archive sensible-utils 0.0.17 deb
spring-messaging 6.1.6 java-archive slf4j-api 2.0.13 java-archive
spring-tx 6.1.6 java-archive smtp 2.0.3 java-archive
spring-web 6.1.6 java-archive snakeyaml 2.2 java-archive
spring-webmvc 6.1.6 java-archive snappy-java 1.1.10.5 java-archive
spring-websocket 6.1.6 java-archive spring-aop 6.1.6 java-archive
sshj 0.38.0 java-archive spring-beans 6.1.6 java-archive
stax-api 1.0-2 java-archive spring-boot 3.2.5 java-archive
systemd-standalone-sysusers 255.4-1ubuntu8.2 deb spring-boot-autoconfigure 3.2.5 java-archive
sysvinit-utils 3.08-6ubuntu3 deb spring-boot-starter 3.2.5 java-archive
tar 1.35+dfsg-3build1 deb spring-boot-starter-data-mongodb 3.2.5 java-archive
tomcat-annotations-api 10.1.20 java-archive spring-boot-starter-json 3.2.5 java-archive
tomcat-embed-core 10.1.20 java-archive spring-boot-starter-logging 3.2.5 java-archive
tomcat-embed-el 10.1.20 java-archive spring-boot-starter-tomcat 3.2.5 java-archive
tomcat-embed-jasper 10.1.20 java-archive spring-boot-starter-validation 3.2.5 java-archive
tomcat-embed-websocket 10.1.20 java-archive spring-boot-starter-web 3.2.5 java-archive
txw2 4.0.5 java-archive spring-boot-starter-websocket 3.2.5 java-archive
tzdata 2024a-3ubuntu1.1 deb spring-context 6.1.6 java-archive
ubuntu-keyring 2023.11.28.1 deb spring-core 6.1.6 java-archive
unzip 6.0-28ubuntu4 deb spring-data-commons 3.2.5 java-archive
urlrewritefilter 4.0.4.1 java-archive spring-data-mongodb 4.2.5 java-archive
util-linux 2.39.3-9ubuntu6 deb spring-expression 6.1.6 java-archive
xpp3 1.1.4c java-archive spring-messaging 6.1.6 java-archive
xsdlib 2013.6.1 java-archive spring-tx 6.1.6 java-archive
zlib1g 1:1.3.dfsg-3.1ubuntu2 deb spring-web 6.1.6 java-archive
spring-webmvc 6.1.6 java-archive
spring-websocket 6.1.6 java-archive
sshj 0.38.0 java-archive
stax-api 1.0-2 java-archive
sysvinit-utils 3.01-1ubuntu1 deb
tar 1.34+dfsg-1ubuntu0.1.22.04.2 deb
tomcat-annotations-api 10.1.20 java-archive
tomcat-embed-core 10.1.20 java-archive
tomcat-embed-el 10.1.20 java-archive
tomcat-embed-jasper 10.1.20 java-archive
tomcat-embed-websocket 10.1.20 java-archive
txw2 4.0.5 java-archive
tzdata 2024a-0ubuntu0.22.04.1 deb
ubuntu-keyring 2021.03.26 deb
ucf 3.0043 deb
unzip 6.0-26ubuntu3.2 deb
urlrewritefilter 4.0.4.1 java-archive
usrmerge 25ubuntu2 deb
util-linux 2.37.2-4ubuntu3.4 deb
xpp3 1.1.4c java-archive
xsdlib 2013.6.1 java-archive
zlib1g 1:1.2.11.dfsg-2ubuntu9.2 deb

View file

@ -12,6 +12,9 @@ available_architectures:
- { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"} - { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"} - { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
# development version
development_versions: false
# container parameters # container parameters
param_container_name: "{{ project_name }}" param_container_name: "{{ project_name }}"
param_usage_include_vols: true param_usage_include_vols: true
@ -27,19 +30,15 @@ param_ports:
param_usage_include_env: true param_usage_include_env: true
param_env_vars: param_env_vars:
- { env_var: "MONGO_USER", env_value: "unifi", desc: "Mongodb Username. Only evaluated on first run. **Special characters must be [url encoded](https://en.wikipedia.org/wiki/Percent-encoding)**." } - { env_var: "MONGO_URI", env_value: "unifi", desc: "MongoDB URI. Only evaluated on first run." }
- { env_var: "MONGO_PASS", env_value: "", desc: "Mongodb Password. Only evaluated on first run. **Special characters must be [url encoded](https://en.wikipedia.org/wiki/Percent-encoding)**." } - { env_var: "STAT_MONGO_URI", env_value: "", desc: "MongoDB stat URI. Only evaluated on first run." }
- { env_var: "MONGO_HOST", env_value: "unifi-db", desc: "Mongodb Hostname. Only evaluated on first run." } - { env_var: "MONGO_DBNAME", env_value: "unifi", desc: "MongoDB Database Name (stats DB is automatically suffixed with `_stat`). Only evaluated on first run." }
- { env_var: "MONGO_PORT", env_value: "27017", desc: "Mongodb Port. Only evaluated on first run." }
- { env_var: "MONGO_DBNAME", env_value: "unifi", desc: "Mongodb Database Name (stats DB is automatically suffixed with `_stat`). Only evaluated on first run." }
- { env_var: "MONGO_AUTHSOURCE", env_value: "admin", desc: "Mongodb [authSource](https://www.mongodb.com/docs/manual/reference/connection-string/#mongodb-urioption-urioption.authSource). For Atlas set to `admin`. Only evaluated on first run." }
# optional container parameters # optional container parameters
opt_param_usage_include_env: true opt_param_usage_include_env: true
opt_param_env_vars: opt_param_env_vars:
- { env_var: "MEM_LIMIT", env_value: "1024", desc: "Optionally change the Java memory limit (in Megabytes). Set to `default` to reset to default" } - { env_var: "MEM_LIMIT", env_value: "1024", desc: "Optionally change the Java memory limit (in Megabytes). Set to `default` to reset to default" }
- { env_var: "MEM_STARTUP", env_value: "1024", desc: "Optionally change the Java initial/minimum memory (in Megabytes). Set to `default` to reset to default" } - { env_var: "MEM_STARTUP", env_value: "1024", desc: "Optionally change the Java initial/minimum memory (in Megabytes). Set to `default` to reset to default" }
- { env_var: "MONGO_TLS", env_value: "", desc: "Mongodb enable [TLS](https://www.mongodb.com/docs/manual/reference/connection-string/#mongodb-urioption-urioption.tls). Only evaluated on first run." }
opt_param_usage_include_ports: true opt_param_usage_include_ports: true
opt_param_ports: opt_param_ports:
@ -54,29 +53,31 @@ app_setup_block_enabled: true
app_setup_block: | app_setup_block: |
After setup, the web UI is available at https://ip:8443. The application can be configured, or a backup restored, using the first run wizard. After setup, the web UI is available at https://ip:8443. The application can be configured, or a backup restored, using the first run wizard.
**This container requires an external mongodb database instance.** **This container requires an external MongoDB database instance.**
### Setting Up Your External Database ### Setting Up Your External Database
Starting with version 8.1 of Unifi Network Application, mongodb 3.6 through 7.0 are supported. Starting with version 8.1 of Unifi Network Application, MongoDB 3.6 through 7.0 are supported.
**Make sure you pin your database image version and do not use `latest`, as mongodb does not support automatic upgrades between major versions.** **Make sure you pin your database image version and do not use `latest`, as MongoDB does not support automatic upgrades between major versions.**
**MongoDB >4.4 on X86_64 Hardware needs a CPU with AVX support. Some lower end Intel CPU models like Celeron and Pentium (before Tiger-Lake) more Details: [Advanced Vector Extensions - Wikipedia](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#CPUs_with_AVX) don't support AVX, but you can still use MongoDB 4.4.** **MongoDB >4.4 on X86_64 Hardware needs a CPU with AVX support. Some lower end Intel CPU models like Celeron and Pentium (before Tiger-Lake) more Details: [Advanced Vector Extensions - Wikipedia](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#CPUs_with_AVX) don't support AVX, but you can still use MongoDB 4.4.**
If you are using the [official mongodb container](https://hub.docker.com/_/mongo/), you can create your user using an `init-mongo.sh` file with the following contents (do not modify; copy/paste as is): If you are using the [official MongoDB container](https://hub.docker.com/_/mongo/) in Version >=6, you can create your user using an `init-mongo.js` file with the following contents:
```js
db.getSiblingDB("MONGO_DBNAME").createUser({user: "MONGO_USER", pwd: "MONGO_PASS", roles: [{role: "dbOwner", db: "MONGO_DBNAME"}]});
db.getSiblingDB("MONGO_DBNAME_stat").createUser({user: "MONGO_USER", pwd: "MONGO_PASS", roles: [{role: "dbOwner", db: "MONGO_DBNAME_stat"}]});
```
If you are using MongoDB < 6.0, you can create a `init-mongo.sh` file with the following contents:
```sh ```sh
#!/bin/bash #!/bin/bash
if which mongosh > /dev/null 2>&1; then mongo <<EOF
mongo_init_bin='mongosh' use admin
else
mongo_init_bin='mongo'
fi
"${mongo_init_bin}" <<EOF
use ${MONGO_AUTHSOURCE}
db.auth("${MONGO_INITDB_ROOT_USERNAME}", "${MONGO_INITDB_ROOT_PASSWORD}") db.auth("${MONGO_INITDB_ROOT_USERNAME}", "${MONGO_INITDB_ROOT_PASSWORD}")
use ${MONGO_DBNAME}
db.createUser({ db.createUser({
user: "${MONGO_USER}", user: "${MONGO_USER}",
pwd: "${MONGO_PASS}", pwd: "${MONGO_PASS}",
@ -88,20 +89,30 @@ app_setup_block: |
EOF EOF
``` ```
Mount the sh file into your *mongodb* container, and make sure to set the env vars below with the same values you supplied to the Unifi container. If you are using the Mongo v4 (the latest which does not require AVX):
```js
db.getSiblingDB("MONGO_DBNAME").createUser({user: "MONGO_USER", pwd: "MONGO_PASS", roles: [{role: "dbOwner", db: "MONGO_DBNAME"}, {role: "dbOwner", db: "MONGO_DBNAME_stat"}]});
```
Being sure to replace the placeholders with the same values you supplied to the Unifi container, and mount it into your *mongodb* container.
For example: For example:
MongoDB >= 6.0:
```yaml
unifi-db:
image: docker.io/mongo:<version tag>
container_name: unifi-db
volumes:
- /path/to/data:/data/db
- /path/to/init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js:ro
restart: unless-stopped
```
MongoDB < 6.0:
```yaml ```yaml
unifi-db: unifi-db:
image: docker.io/mongo:<version tag> image: docker.io/mongo:<version tag>
container_name: unifi-db container_name: unifi-db
environment:
- MONGO_INITDB_ROOT_USERNAME=root
- MONGO_INITDB_ROOT_PASSWORD=
- MONGO_USER=unifi
- MONGO_PASS=
- MONGO_DBNAME=unifi
- MONGO_AUTHSOURCE=admin
volumes: volumes:
- /path/to/data:/data/db - /path/to/data:/data/db
- /path/to/init-mongo.sh:/docker-entrypoint-initdb.d/init-mongo.sh:ro - /path/to/init-mongo.sh:/docker-entrypoint-initdb.d/init-mongo.sh:ro
@ -109,7 +120,9 @@ app_setup_block: |
``` ```
*Note that the init script method will only work on first run. If you start the Mongodb container without an init script it will generate test data automatically and you will have to manually create your databases, or restart with a clean `/data/db` volume and an init script mounted.* *Note that the init script method will only work on first run. If you start the MongoDB container without an init script it will generate test data automatically and you will have to manually create your databases, or restart with a clean `/data/db` volume and an init script mounted.*
*If you are using the init JS method do not also set `MONGO_INITDB_ROOT_USERNAME`, `MONGO_INITDB_ROOT_PASSWORD`, or any other "INITDB" values as they will cause conflicts. Setting these variables for the .sh file is necessary*
You can also run the commands directly against the database using either `mongo` (< 6.0) or `mongosh` (>= 6.0). You can also run the commands directly against the database using either `mongo` (< 6.0) or `mongosh` (>= 6.0).
@ -144,9 +157,7 @@ app_setup_block: |
# changelog # changelog
changelogs: changelogs:
- { date: "17.08.24:", desc: "Change environment variables" } - { date: "21.05.24:", desc: "Change environment variables" }
- { date: "11.08.24:", desc: "**Important**: The mongodb init instructions have been updated to enable auth ([RBAC](https://www.mongodb.com/docs/manual/core/authorization/#role-based-access-control)). We have been notified that if RBAC is not enabled, the official mongodb container allows remote access to the db contents over port 27017 without credentials. If you set up the mongodb container with the old instructions we provided, you should not map or expose port 27017. If you would like to enable auth, the easiest way is to create new instances of both unifi and mongodb with the new instructions and restore unifi from a backup." } - { date: "04.02.24:", desc: "Install from zip package instead of deb." }
- { date: "11.08.24:", desc: "Rebase to Ubuntu Noble." }
- { date: "04.03.24:", desc: "Install from zip package instead of deb." }
- { date: "17.10.23:", desc: "Add environment variables for TLS and authSource to support Atlas and new MongoDB versions." } - { date: "17.10.23:", desc: "Add environment variables for TLS and authSource to support Atlas and new MongoDB versions." }
- { date: "05.09.23:", desc: "Initial release." } - { date: "05.09.23:", desc: "Initial release." }