unifi/example/images/unifi/Dockerfile

42 lines
1.4 KiB
Docker

FROM danielberteaud/java:17.24.3-5 AS builder
ARG UNIFI_VERSION=8.1.113
RUN set -euxo pipefail &&\
apk --no-cache add curl ca-certificates unzip &&\
cd /tmp &&\
curl -sSLO https://www.ubnt.com/downloads/unifi/${UNIFI_VERSION}/UniFi.unix.zip &&\
unzip UniFi.unix.zip &&\
rm -f UniFi.unix.zip &&\
ls -l &&\
rm -f UniFi/bin/mongod &&\
chown -R root:root UniFi
FROM danielberteaud/java:17.24.3-5
MAINTAINER Daniel Berteaud <dbd@ehtrace.com>
ENV JAVA_OPTS="-Djava.awt.headless=true -Dlogback.configurationFile=/opt/unifi/logback.xml --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED" \
TZ=Europe/Paris \
LANG=fr_FR.utf8
COPY --from=builder /tmp/UniFi /opt/unifi
COPY root/ /
RUN set -euxo pipefail &&\
apk --no-cache upgrade &&\
addgroup -g 8443 unifi &&\
adduser --system --ingroup unifi --disabled-password --uid 8443 --home /opt/unifi --shell /sbin/nologin unifi &&\
mkdir -p /data/unifi &&\
mkdir -p /data/logs &&\
chown unifi:unifi /data &&\
chmod 700 /data &&\
ln -s /data/unifi /opt/unifi/data &&\
ln -s /data/logs /opt/unifi/logs
EXPOSE 8443 8080 8843 3778
USER unifi
VOLUME /data
WORKDIR /opt/unifi
CMD ["sh", "-c", "exec java ${JAVA_OPTS} -jar /opt/unifi/lib/ace.jar start"]