New file |
| | |
| | | # UniFi |
| | | |
| | | This is a Docker image of UniFi controller |
| | | based on `openjdk:8-jre-slim` |
| | | |
| | | ## Tags |
| | | |
| | | Container is created for each stable UniFi release and tagged as vX.X.X. |
| | | `:latest` tag is for latest 5.6 LTS release. |
| | | `:v5.7` tag is for latest 5.7 release. |
| | | |
| | | ## Usage |
| | | |
| | | ```bash |
| | | docker run -d --name=unifi \ |
| | | -p 8080:8080 -p 8443:8443 \ |
| | | jacekkow/unifi |
| | | ``` |
| | | |
| | | UniFi interface should be available at https://127.0.0.1:8443/ |
| | | (first run wizard is opened if the instance is unconfigured). |
| | | |
| | | By default it uses Docker data volume for persistence. |
| | | |
| | | You can update such installation by passing `--volumes-from` option |
| | | to `docker run`: |
| | | |
| | | ```bash |
| | | docker pull jacekkow/unifi |
| | | docker stop unifi |
| | | docker rename unifi unifi-old |
| | | docker run -d --name=unifi \ |
| | | -p 8080:8080 -p 8443:8443 \ |
| | | --volumes-from unifi-old \ |
| | | jacekkow/unifi |
| | | docker rm -v unifi-old |
| | | ``` |
| | | |
| | | ### Local storage |
| | | |
| | | If you prefer to have direct access to container's data |
| | | from the host, you can use local storage instead of data volumes: |
| | | |
| | | ```bash |
| | | docker run -d --name=unifi \ |
| | | -p 8080:8080 -p 8443:8443 \ |
| | | -v /srv/unifi/data:/usr/lib/unifi/data \ |
| | | --user root \ |
| | | jacekkow/unifi |
| | | ``` |
| | | |
| | | `/srv/unifi/data` directory will be automatically populated |
| | | with default configuration if necessary. |
| | | |
| | | File ownership is recursively changed to `unifi:unifi` (`500:500`) |
| | | on each start, provided the container is run as root |
| | | (don't worry - unifi user will be used to start UniFi). |
| | | |
| | | ### Captive portal and STUN |
| | | |
| | | Using captive portal requires forwarding of additional ports |
| | | (8880 and 8843): |
| | | |
| | | ```bash |
| | | docker run -d --name=unifi \ |
| | | -p 8080:8080 -p 8443:8443 \ |
| | | -p 8880:8880 -p 8843:8843 \ |
| | | jacekkow/unifi |
| | | ``` |
| | | |
| | | For STUN (NAT traversal) UDP port 3478 must be available: |
| | | |
| | | ```bash |
| | | docker run -d --name=unifi \ |
| | | -p 8080:8080 -p 8443:8443 \ |
| | | -p 3478:3478/udp \ |
| | | jacekkow/unifi |
| | | ``` |
| | | |
| | | Note that STUN was not tested in container-based environment! |
| | | This port is also not exposed in Dockerfile. |
| | | |
| | | ### Configuration |
| | | |
| | | You can configure the instance by editing files |
| | | in directory /usr/lib/unifi/data inside the container |
| | | (or appropriate host dir if local storage is used). |
| | | |
| | | By default the JVM is started with option `-Xmx1024m`. |
| | | You can override this default using `JAVA_OPTS` environment |
| | | variable: |
| | | |
| | | ```bash |
| | | docker run -d --name=unifi \ |
| | | -p 8080:8080 -p 8443:8443 \ |
| | | -e "JAVA_OPTS=-Xmx512m" \ |
| | | jacekkow/unifi |
| | | ``` |