# -------------------------------------------------------------------------- # THIS FILE IS AUTOGENERATED - DO NOT EDIT MANUALLY # # Source: Containerfile.pkg.j2 # -------------------------------------------------------------------------- ARG BASE_VERSION=15.1 FROM ghcr.io/daemonless/base-rcd:${BASE_VERSION} ARG FREEBSD_ARCH=amd64 ARG PKG_NAME=unifi10 LABEL org.opencontainers.image.title="UniFi Network" \ org.opencontainers.image.description="Ubiquiti UniFi Network Application for managing UniFi access points, switches, and gateways." \ org.opencontainers.image.source="https://github.com/daemonless/unifi" \ org.opencontainers.image.url="https://ui.com/" \ org.opencontainers.image.documentation="https://help.ui.com/" \ org.opencontainers.image.licenses="Proprietary" \ org.opencontainers.image.vendor="daemonless" \ org.opencontainers.image.authors="daemonless" \ io.daemonless.port="8443" \ io.daemonless.arch="${FREEBSD_ARCH}" \ io.daemonless.pkg-name="${PKG_NAME}" \ org.freebsd.jail.allow.mlock="required" # Install from FreeBSD packages RUN pkg update && \ pkg install -y ${PKG_NAME} && \ UNIFI_VERSION=$(pkg info ${PKG_NAME} | sed -n 's/.*Version.*: *//p') && \ mkdir -p /app && echo "$UNIFI_VERSION" > /app/version && \ pkg clean -ay && \ rm -rf /var/cache/pkg/* /var/db/pkg/repos/* # Create config directory and symlink data dir # UniFi installs to /usr/local/share/java/unifi RUN mkdir -p /config /var/run/unifi && \ rm -rf /usr/local/share/java/unifi/data && \ ln -sf /config /usr/local/share/java/unifi/data && \ chown -R bsd:bsd /config /var/run/unifi /usr/local/share/java/unifi # Copy service definition and init scripts COPY root/ / RUN chmod +x /daemonless/libexec/* /daemonless/init.d/* # UniFi ports: # 8443 - Web UI (HTTPS) # 8080 - Device inform # 8843 - Guest portal HTTPS # 8880 - Guest portal HTTP # 6789 - Mobile throughput test # 3478/udp - STUN # 10001/udp - Device discovery EXPOSE 8443 8080 8843 8880 6789 3478 10001 VOLUME /config