Jacek Kowalski
2018-07-02 09a1db240dafbcef108001d92bd71b6faf651bb4
commit | author | age
874a7f 1 # UniFi
JK 2
3 This is a Docker image of UniFi controller
4 based on `openjdk:8-jre-slim`
5
6 ## Tags
7
8 Container is created for each stable UniFi release and tagged as vX.X.X.
497bd2 9 `:latest` tag is for the latest 5.6 LTS release.
JK 10 `:v5.7` tag is for the latest 5.7 release.
11 `:v5.8` tag is for the latest 5.8 release.
874a7f 12
JK 13 ## Usage
14
15 ```bash
16 docker run -d --name=unifi \
17     -p 8080:8080 -p 8443:8443 \
18     jacekkow/unifi
19 ```
20
21 UniFi interface should be available at https://127.0.0.1:8443/
22 (first run wizard is opened if the instance is unconfigured).
23
24 By default it uses Docker data volume for persistence.
25
26 You can update such installation by passing `--volumes-from` option
27 to `docker run`:
28
29 ```bash
30 docker pull jacekkow/unifi
31 docker stop unifi
32 docker rename unifi unifi-old
33 docker run -d --name=unifi \
34     -p 8080:8080 -p 8443:8443 \
35     --volumes-from unifi-old \
36     jacekkow/unifi
37 docker rm -v unifi-old
38 ```
39
40 ### Local storage
41
42 If you prefer to have direct access to container's data
43 from the host, you can use local storage instead of data volumes:
44
45 ```bash
46 docker run -d --name=unifi \
47     -p 8080:8080 -p 8443:8443 \
48     -v /srv/unifi/data:/usr/lib/unifi/data \
49     --user root \
50     jacekkow/unifi
51 ```
52
53 `/srv/unifi/data` directory will be automatically populated
54 with default configuration if necessary.
55
56 File ownership is recursively changed to `unifi:unifi` (`500:500`)
57 on each start, provided the container is run as root
58 (don't worry - unifi user will be used to start UniFi).
59
60 ### Captive portal and STUN
61
62 Using captive portal requires forwarding of additional ports
63 (8880 and 8843):
64
65 ```bash
66 docker run -d --name=unifi \
67     -p 8080:8080 -p 8443:8443 \
68     -p 8880:8880 -p 8843:8843 \
69     jacekkow/unifi
70 ```
71
72 For STUN (NAT traversal) UDP port 3478 must be available:
73
74 ```bash
75 docker run -d --name=unifi \
76     -p 8080:8080 -p 8443:8443 \
77     -p 3478:3478/udp \
78     jacekkow/unifi
79 ```
80
81 Note that STUN was not tested in container-based environment!
82 This port is also not exposed in Dockerfile.
83
84 ### Configuration
85
86 You can configure the instance by editing files 
87 in directory /usr/lib/unifi/data inside the container
88 (or appropriate host dir if local storage is used).
89
90 By default the JVM is started with option `-Xmx1024m`.
91 You can override this default using `JAVA_OPTS` environment
92 variable:
93
94 ```bash
95 docker run -d --name=unifi \
96     -p 8080:8080 -p 8443:8443 \
97     -e "JAVA_OPTS=-Xmx512m" \
98     jacekkow/unifi
99 ```