THIS PROJECT IS ABANDONED
NO NEW RELEASES WILL BE AVAILABLE
Please switch to Docker images from linuxserver.io:
https://hub.docker.com/r/linuxserver/unifi-controller
https://github.com/linuxserver/docker-unifi-controller
UniFi
This is a Docker image of UniFi SDN 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 the latest stable release (currently 5.13).
:lts
tag is for the latest 5.6 LTS release.
Usage
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
:
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:
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):
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:
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:
docker run -d --name=unifi \
-p 8080:8080 -p 8443:8443 \
-e "JAVA_OPTS=-Xmx512m" \
jacekkow/unifi