mirror of
https://github.com/sstent/unifi.git
synced 2025-12-06 06:01:37 +00:00
adopted for Unifi 5.6., small fixes an enhancements
This commit is contained in:
@@ -1,10 +1,13 @@
|
|||||||
FROM ubuntu:16.04
|
FROM ubuntu:16.04
|
||||||
ENV DEBIAN_FRONTEND noninteractive
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
|
ARG REPO
|
||||||
|
|
||||||
RUN mkdir -p /usr/lib/unifi/data /backups /logs
|
RUN mkdir -p /usr/lib/unifi/data /backups /logs
|
||||||
|
|
||||||
# add unifi repo +keys
|
# add unifi repo +keys
|
||||||
RUN echo "deb http://www.ubnt.com/downloads/unifi/debian unifi5 ubiquiti" >/etc/apt/sources.list.d/ubnt.list && \
|
RUN if [ -z "$REPO" ]; then REPO="stable"; fi && \
|
||||||
|
echo "deb http://www.ubnt.com/downloads/unifi/debian $REPO ubiquiti" >/etc/apt/sources.list.d/ubnt.list && \
|
||||||
apt-key adv --keyserver keyserver.ubuntu.com --recv C0A52C50
|
apt-key adv --keyserver keyserver.ubuntu.com --recv C0A52C50
|
||||||
|
|
||||||
# update then install
|
# update then install
|
||||||
@@ -15,6 +18,9 @@ RUN apt-get update -q -y && \
|
|||||||
COPY ["unifi.sh","backup_unifi.sh","restore_unifi.sh", "/usr/lib/unifi/"]
|
COPY ["unifi.sh","backup_unifi.sh","restore_unifi.sh", "/usr/lib/unifi/"]
|
||||||
RUN echo "10 02 * * * root /usr/lib/unifi/backup_unifi.sh >/logs/backup.log 2>&1" >/etc/cron.d/unifi_backup
|
RUN echo "10 02 * * * root /usr/lib/unifi/backup_unifi.sh >/logs/backup.log 2>&1" >/etc/cron.d/unifi_backup
|
||||||
|
|
||||||
|
# https://community.ubnt.com/t5/UniFi-Wireless-Beta/IMPORTANT-Debian-Ubuntu-users-MUST-READ-Updated-06-21/td-p/1968253/jump-to/first-unread-message
|
||||||
|
RUN echo "JSVC_EXTRA_OPTS=\"\$JSVC_EXTRA_OPTS -Xss1280k\"" >>/etc/default/unifi
|
||||||
|
|
||||||
#redirect logs and backup
|
#redirect logs and backup
|
||||||
RUN rm -f /usr/lib/unifi/logs && ln -s /logs /usr/lib/unifi/logs
|
RUN rm -f /usr/lib/unifi/logs && ln -s /logs /usr/lib/unifi/logs
|
||||||
RUN rm -f /usr/lib/unifi/backups && ln -s /backups /usr/lib/unifi/backups
|
RUN rm -f /usr/lib/unifi/backups && ln -s /backups /usr/lib/unifi/backups
|
||||||
@@ -22,7 +28,7 @@ RUN rm -f /usr/lib/unifi/backups && ln -s /backups /usr/lib/unifi/backups
|
|||||||
#define interface
|
#define interface
|
||||||
VOLUME /usr/lib/unifi/data
|
VOLUME /usr/lib/unifi/data
|
||||||
VOLUME /backups /logs
|
VOLUME /backups /logs
|
||||||
EXPOSE 8443 8880 8080
|
EXPOSE 3748/udp 8443 8880 8080 27117
|
||||||
|
|
||||||
#Runtime Env
|
#Runtime Env
|
||||||
ENV PATH "$PATH:/usr/lib/unifi"
|
ENV PATH "$PATH:/usr/lib/unifi"
|
||||||
|
|||||||
28
README.md
28
README.md
@@ -12,8 +12,8 @@ docker build -t tommi2day/unifi5 -f Dockerfile.unifi5 .
|
|||||||
see also build_unifi.sh
|
see also build_unifi.sh
|
||||||
### exposed Ports
|
### exposed Ports
|
||||||
```sh
|
```sh
|
||||||
# WebUI Inform mongodb
|
# WebUI Inform mongodb STUN
|
||||||
EXPOSE 8443 8080 8880
|
EXPOSE 8443 8080 8880 27117 3478/udp
|
||||||
```
|
```
|
||||||
### Volumes
|
### Volumes
|
||||||
```sh
|
```sh
|
||||||
@@ -35,17 +35,29 @@ docker volume create --name unifi_data
|
|||||||
docker run -d \
|
docker run -d \
|
||||||
-v unifi_data:/usr/lib/unifi/data \
|
-v unifi_data:/usr/lib/unifi/data \
|
||||||
-v /shared/unifi5/backups:/backups \
|
-v /shared/unifi5/backups:/backups \
|
||||||
-v /shared/unifi5/logs":/logs \
|
-v /shared/unifi5/logs:/logs \
|
||||||
--hostname unifi5 \
|
--hostname unifi5 \
|
||||||
--name unifi5 \
|
--name unifi5 \
|
||||||
--restart=always \
|
--restart=always \
|
||||||
-p 8080:8080 \
|
-p 8080:8080 \
|
||||||
-p 8880:8880 \
|
-p 8880:8880 \
|
||||||
-p 8443:8443 \
|
-p 8443:8443 \
|
||||||
|
-p 3478:3478/udp \
|
||||||
|
-p 27117:27117 \
|
||||||
tommi2day/unifi5
|
tommi2day/unifi5
|
||||||
```
|
```
|
||||||
see run_unifi.sh for an example
|
see run_unifi.sh for an example
|
||||||
|
|
||||||
|
### Update
|
||||||
|
**always** backup your existing running settings first!
|
||||||
|
stop container, pull new image, restart
|
||||||
|
```
|
||||||
|
docker stop unifi5
|
||||||
|
docker rm unifi5
|
||||||
|
docker pull tommi2day/unifi5
|
||||||
|
docker run .... #see section Run
|
||||||
|
```
|
||||||
|
i prefer to start the first run after update interactive to keep track of the update process and restart normally after sucessfully migration. If something goes wrong (usually within mongodb) you may try to remove the data/db and data/site directory, do a brand new installation and restore the backup file. It should be automatic migrated to the new version
|
||||||
### Addons
|
### Addons
|
||||||
All Addons are in /usr/lib/unifi
|
All Addons are in /usr/lib/unifi
|
||||||
####internal start/stop script
|
####internal start/stop script
|
||||||
@@ -71,13 +83,3 @@ docker exec -ti unifi5 bash
|
|||||||
exit
|
exit
|
||||||
```
|
```
|
||||||
This will stop and restart the unifi process. To return to the console prompt press CTRL-C
|
This will stop and restart the unifi process. To return to the console prompt press CTRL-C
|
||||||
####Systemd service definition
|
|
||||||
unifi.service is a sample systemd start script for the already created container.
|
|
||||||
```
|
|
||||||
sudo cp unifi.service /etc/systemd/system/
|
|
||||||
sudo systemctl daemon-reload
|
|
||||||
sudo systemctl enable unifi.service
|
|
||||||
sudo systemctl start unifi.service
|
|
||||||
```
|
|
||||||
|
|
||||||
see https://help.ubnt.com/hc/en-us/articles/220066768-UniFi-Debian-Ubuntu-APT-howto
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ if [ -n "$MONGOPID" ]; then
|
|||||||
kill -SIGUSR1 $MONGOPID
|
kill -SIGUSR1 $MONGOPID
|
||||||
fi
|
fi
|
||||||
#backup
|
#backup
|
||||||
cd /usr/lib/unifi1
|
cd /usr/lib/unifi
|
||||||
bash ./unifi.sh stop
|
bash ./unifi.sh stop
|
||||||
sleep 5
|
sleep 5
|
||||||
tar -czf backups/unifi_data.$(date '+%Y%m%d').tar.gz data >/dev/null
|
tar -czf backups/unifi_data.$(date '+%Y%m%d').tar.gz data >/dev/null
|
||||||
|
|||||||
@@ -1,13 +1,15 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
VERSION=5.4.11
|
VERSION=5.6.22
|
||||||
|
#REPO=unifi-5.5
|
||||||
|
REPO=stable
|
||||||
VMNAME=${1:-unifi5}
|
VMNAME=${1:-unifi5}
|
||||||
if [ -r Dockerfile.$VMNAME ]; then
|
if [ -r Dockerfile.$VMNAME ]; then
|
||||||
DOCKER_USER=${DOCKER_USER:-tommi2day}
|
DOCKER_USER=${DOCKER_USER:-tommi2day}
|
||||||
#build the container
|
#build the container
|
||||||
docker stop $VMNAME
|
docker stop $VMNAME
|
||||||
docker rm $VMNAME
|
docker rm $VMNAME
|
||||||
docker build -t $DOCKER_USER/$VMNAME:$VERSION -f Dockerfile.$VMNAME . |tee build.log
|
docker build --no-cache --build-arg REPO=$REPO -t $DOCKER_USER/$VMNAME:$VERSION -f Dockerfile.$VMNAME . |tee build.log
|
||||||
IMAGE=$(awk '/^Successfully/ {print $3}' build.log)
|
IMAGE=$(awk '/^Successfully built/ {print $3}' build.log)
|
||||||
if [ -n "$IMAGE" ]; then
|
if [ -n "$IMAGE" ]; then
|
||||||
docker tag $IMAGE $DOCKER_USER/$VMNAME:latest
|
docker tag $IMAGE $DOCKER_USER/$VMNAME:latest
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -64,6 +64,8 @@ $DOCKER run $RUN \
|
|||||||
-p :8080:8080 \
|
-p :8080:8080 \
|
||||||
-p 8880:8880 \
|
-p 8880:8880 \
|
||||||
-p 8443:8443 \
|
-p 8443:8443 \
|
||||||
|
-p 3478:3478/udp \
|
||||||
|
-p 27117:27117 \
|
||||||
$DOCKER_USER/$VMNAME $1 " >starter
|
$DOCKER_USER/$VMNAME $1 " >starter
|
||||||
if [ "$OSTYPE" = "msys" ]; then
|
if [ "$OSTYPE" = "msys" ]; then
|
||||||
mv starter starter.ps1
|
mv starter starter.ps1
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=Unifi Controler container
|
|
||||||
Requires=docker.service
|
|
||||||
After=docker.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Restart=always
|
|
||||||
ExecStart=/usr/bin/docker start -a unifi5
|
|
||||||
ExecStop=/usr/bin/docker stop -t 2 unifi5
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=default.target
|
|
||||||
Reference in New Issue
Block a user