Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 19 additions & 19 deletions .github/workflows/build-beta.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
branches:
- main
paths:
- 10.3/beta/**
- 10.4/beta/**
- .github/workflows/build-beta.yml

jobs:
Expand All @@ -19,7 +19,7 @@ jobs:
-
name: Set up dynamic build ARGs
id: getargs
run: echo "version=$(cat ./10.3/beta/VERSION)" >> $GITHUB_OUTPUT
run: echo "version=$(cat ./10.4/beta/VERSION)" >> $GITHUB_OUTPUT
-
name: Set up Docker metadata for Alpine
id: meta-alpine
Expand All @@ -30,7 +30,7 @@ jobs:
ghcr.io/${{ github.repository }}
tags: |
type=raw,latest-alpine-beta
type=raw,10.3-alpine-beta
type=raw,10.4-alpine-beta
labels: |
org.opencontainers.image.vendor=The Goofball - goofball222@gmail.com
org.opencontainers.image.title=UniFi Network Application
Expand All @@ -46,7 +46,7 @@ jobs:
ghcr.io/${{ github.repository }}
tags: |
type=raw,latest-debian-beta
type=raw,10.3-debian-beta
type=raw,10.4-debian-beta
labels: |
org.opencontainers.image.vendor=The Goofball - goofball222@gmail.com
org.opencontainers.image.title=UniFi Network Application
Expand All @@ -63,8 +63,8 @@ jobs:
tags: |
type=raw,latest-beta
type=raw,latest-ubuntu-beta
type=raw,10.3-beta
type=raw,10.3-ubuntu-beta
type=raw,10.4-beta
type=raw,10.4-ubuntu-beta
labels: |
org.opencontainers.image.vendor=The Goofball - goofball222@gmail.com
org.opencontainers.image.title=UniFi Network Application
Expand All @@ -80,7 +80,7 @@ jobs:
ghcr.io/${{ github.repository }}
tags: |
type=raw,latest-debian-nomongo-beta
type=raw,10.3-debian-nomongo-beta
type=raw,10.4-debian-nomongo-beta
labels: |
org.opencontainers.image.vendor=The Goofball - goofball222@gmail.com
org.opencontainers.image.title=UniFi Network Application
Expand All @@ -97,8 +97,8 @@ jobs:
tags: |
type=raw,latest-nomongo-beta
type=raw,latest-ubuntu-nomongo-beta
type=raw,10.3-nomongo-beta
type=raw,10.3-ubuntu-nomongo-beta
type=raw,10.4-nomongo-beta
type=raw,10.4-ubuntu-nomongo-beta
labels: |
org.opencontainers.image.vendor=The Goofball - goofball222@gmail.com
org.opencontainers.image.title=UniFi Network Application
Expand Down Expand Up @@ -127,8 +127,8 @@ jobs:
name: Build and push Alpine Docker image
uses: docker/build-push-action@v7
with:
context: ./10.3/beta
file: ./10.3/beta/Dockerfile.alpine
context: ./10.4/beta
file: ./10.4/beta/Dockerfile.alpine
platforms: linux/amd64,linux/arm64
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta-alpine.outputs.tags }}
Expand All @@ -138,8 +138,8 @@ jobs:
name: Build and push Debian Docker image
uses: docker/build-push-action@v7
with:
context: ./10.3/beta
file: ./10.3/beta/Dockerfile.debian
context: ./10.4/beta
file: ./10.4/beta/Dockerfile.debian
platforms: linux/amd64
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta-debian.outputs.tags }}
Expand All @@ -149,8 +149,8 @@ jobs:
name: Build and push Ubuntu Docker image
uses: docker/build-push-action@v7
with:
context: ./10.3/beta
file: ./10.3/beta/Dockerfile
context: ./10.4/beta
file: ./10.4/beta/Dockerfile
platforms: linux/amd64,linux/arm64
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta-ubuntu.outputs.tags }}
Expand All @@ -160,8 +160,8 @@ jobs:
name: Build and push Debian Docker nomongo image
uses: docker/build-push-action@v7
with:
context: ./10.3/beta
file: ./10.3/beta/Dockerfile.debian.nomongo
context: ./10.4/beta
file: ./10.4/beta/Dockerfile.debian.nomongo
platforms: linux/amd64
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta-debian-nomongo.outputs.tags }}
Expand All @@ -171,8 +171,8 @@ jobs:
name: Build and push Ubuntu Docker nomongo image
uses: docker/build-push-action@v7
with:
context: ./10.3/beta
file: ./10.3/beta/Dockerfile.ubuntu.nomongo
context: ./10.4/beta
file: ./10.4/beta/Dockerfile.ubuntu.nomongo
platforms: linux/amd64,linux/arm64
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta-ubuntu-nomongo.outputs.tags }}
Expand Down
75 changes: 75 additions & 0 deletions 10.4/beta/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
FROM ubuntu:24.04

ARG BUILD_DATE
ARG VCS_REF
ARG VERSION

LABEL \
org.opencontainers.image.vendor="The Goofball - goofball222@gmail.com" \
org.opencontainers.image.url="https://github.com/goofball222/unifi" \
org.opencontainers.image.title="UniFi Controller" \
org.opencontainers.image.description="UniFi Controller" \
org.opencontainers.image.version=${VERSION}-Ubuntu \
org.opencontainers.image.source="https://github.com/goofball222/unifi" \
org.opencontainers.image.revision=${VCS_REF} \
org.opencontainers.image.created=${BUILD_DATE} \
org.opencontainers.image.licenses="Apache-2.0"

ENV \
BIND_PRIV=false \
DEBIAN_FRONTEND=noninteractive \
DEBUG=false \
JVM_EXTRA_OPTS= \
JVM_INIT_HEAP_SIZE= \
JVM_MAX_HEAP_SIZE=1024M \
PGID=999 \
PUID=999 \
RUN_CHOWN=true \
RUNAS_UID0=false

WORKDIR /usr/lib/unifi

COPY root /

RUN set -x \
&& groupadd -r unifi -g $PGID \
&& useradd --no-log-init -r -u $PUID -g $PGID unifi \
&& apt-get -y update \
&& apt-get -y install apt-utils \
&& apt-get -y --no-install-recommends install \
binutils curl dirmngr \
gnupg gosu libcap2 \
libcap2-bin procps python3 \
tzdata \
&& apt-get -y --no-install-recommends install \
ca-certificates-java \
&& apt-get -y --no-install-recommends install \
openjdk-25-jre-headless \
&& curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
--dearmor \
&& echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" \
> /etc/apt/sources.list.d/mongodb-org-8.0.list \
&& apt-get -y update \
&& apt-get -y --no-install-recommends install \
mongodb-org-server \
&& curl -sSL https://dl.ui.com/unifi/${VERSION}/unifi_sysvinit_all.deb -o /tmp/unifi-${VERSION}.deb \
&& apt-get -y purge \
dirmngr \
&& apt-get -y autoremove --purge \
&& apt-get -y clean autoclean \
&& dpkg --force-all -i /tmp/unifi-${VERSION}.deb \
&& rm -rf data logs run \
&& bash -c 'mkdir -p {data,logs,run,cert}' \
&& chown -R unifi:unifi /usr/lib/unifi \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/log/*

EXPOSE 3478/udp 6789/tcp 8080/tcp 8443/tcp 8843/tcp 8880/tcp 10001/udp

VOLUME ["/usr/lib/unifi/cert", "/usr/lib/unifi/data", "/usr/lib/unifi/logs"]

HEALTHCHECK --start-period=2m CMD /usr/local/bin/docker-healthcheck.sh

ENTRYPOINT ["docker-entrypoint.sh"]

CMD ["unifi"]
58 changes: 58 additions & 0 deletions 10.4/beta/Dockerfile.alpine
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
FROM alpine:latest

ARG BUILD_DATE
ARG VCS_REF
ARG VERSION

LABEL \
org.opencontainers.image.vendor="The Goofball - goofball222@gmail.com" \
org.opencontainers.image.url="https://github.com/goofball222/unifi" \
org.opencontainers.image.title="UniFi Controller" \
org.opencontainers.image.description="UniFi Controller" \
org.opencontainers.image.version=${VERSION}-Alpine \
org.opencontainers.image.source="https://github.com/goofball222/unifi" \
org.opencontainers.image.revision=${VCS_REF} \
org.opencontainers.image.created=${BUILD_DATE} \
org.opencontainers.image.licenses="Apache-2.0"

ENV \
BIND_PRIV=false \
DEBUG=false \
JVM_EXTRA_OPTS= \
JVM_INIT_HEAP_SIZE= \
JVM_MAX_HEAP_SIZE=1024M \
PGID=999 \
PUID=999 \
RUN_CHOWN=true \
RUNAS_UID0=false

WORKDIR /usr/lib/unifi

COPY root /

RUN set -x \
&& delgroup ping \
&& addgroup -g $PGID unifi \
&& adduser -D -G unifi -u $PUID unifi \
&& apk add -q --no-cache \
gcompat libc6-compat \
&& apk add -q --no-cache \
bash binutils coreutils curl libcap \
openjdk25-jre openssl python3 shadow \
su-exec tzdata \
&& curl -sSL https://dl.ui.com/unifi/${VERSION}/UniFi.unix.zip -o /tmp/UniFi.unix.${VERSION}.zip \
&& unzip -q /tmp/UniFi.unix.${VERSION}.zip -d /tmp \
&& mv /tmp/UniFi/* /usr/lib/unifi/ \
&& bash -c 'mkdir -p {data,logs,run,cert}' \
&& chown -R unifi:unifi /usr/lib/unifi \
&& rm -rf /tmp/* /var/tmp/* /var/cache/apk/*

EXPOSE 3478/udp 6789/tcp 8080/tcp 8443/tcp 8843/tcp 8880/tcp 10001/udp

VOLUME ["/usr/lib/unifi/cert", "/usr/lib/unifi/data", "/usr/lib/unifi/logs"]

HEALTHCHECK --start-period=2m CMD /usr/local/bin/docker-healthcheck.sh

ENTRYPOINT ["docker-entrypoint.sh"]

CMD ["unifi"]
78 changes: 78 additions & 0 deletions 10.4/beta/Dockerfile.debian
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
FROM debian:trixie-slim

ARG BUILD_DATE
ARG VCS_REF
ARG VERSION

LABEL \
org.opencontainers.image.vendor="The Goofball - goofball222@gmail.com" \
org.opencontainers.image.url="https://github.com/goofball222/unifi" \
org.opencontainers.image.title="UniFi Controller" \
org.opencontainers.image.description="UniFi Controller" \
org.opencontainers.image.version=${VERSION}-Debian \
org.opencontainers.image.source="https://github.com/goofball222/unifi" \
org.opencontainers.image.revision=${VCS_REF} \
org.opencontainers.image.created=${BUILD_DATE} \
org.opencontainers.image.licenses="Apache-2.0"

ENV \
BIND_PRIV=false \
DEBIAN_FRONTEND=noninteractive \
DEBUG=false \
JVM_EXTRA_OPTS= \
JVM_INIT_HEAP_SIZE= \
JVM_MAX_HEAP_SIZE=1024M \
PGID=999 \
PUID=999 \
RUN_CHOWN=true \
RUNAS_UID0=false

WORKDIR /usr/lib/unifi

COPY root /

RUN set -x \
&& groupadd -r unifi -g $PGID \
&& useradd --no-log-init -r -u $PUID -g $PGID unifi \
&& mkdir -p /usr/share/man/man1 \
&& apt-get -y update \
&& apt-get -y install apt-utils \
&& apt-get -y --no-install-recommends install \
dirmngr gnupg2 \
&& apt-get -y update \
&& apt-get -y --no-install-recommends install \
binutils curl gosu \
libcap2 libcap2-bin procps \
python3 tzdata \
&& apt-get -y --no-install-recommends install \
ca-certificates-java \
&& apt-get -y --no-install-recommends install \
openjdk-25-jre-headless \
&& curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
--dearmor \
&& echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] http://repo.mongodb.org/apt/debian bookworm/mongodb-org/8.0 main" \
> /etc/apt/sources.list.d/mongodb-org-8.0.list \
&& apt-get -y update \
&& apt-get -y --no-install-recommends install \
mongodb-org-server \
&& curl -sSL https://dl.ui.com/unifi/${VERSION}/unifi_sysvinit_all.deb -o /tmp/unifi-${VERSION}.deb \
&& apt-get -y purge \
apt-utils dirmngr gnupg2 \
&& apt-get -y autoremove --purge \
&& apt-get -y clean autoclean \
&& dpkg --force-all -i /tmp/unifi-${VERSION}.deb \
&& rm -rf data logs run \
&& bash -c 'mkdir -p {data,logs,run,cert}' \
&& chown -R unifi:unifi /usr/lib/unifi \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/log/*

EXPOSE 3478/udp 6789/tcp 8080/tcp 8443/tcp 8843/tcp 8880/tcp 10001/udp

VOLUME ["/usr/lib/unifi/cert", "/usr/lib/unifi/data", "/usr/lib/unifi/logs"]

HEALTHCHECK --start-period=2m CMD /usr/local/bin/docker-healthcheck.sh

ENTRYPOINT ["docker-entrypoint.sh"]

CMD ["unifi"]
Loading