FROM ubuntu:24.04 ENV DEBIAN_FRONTEND=noninteractive # Set up Mozilla apt repo before installing KDE so the priority-1000 pin is # already in place when kde-plasma-desktop resolves Firefox — otherwise apt # installs Ubuntu's snap stub first and the real Firefox never displaces it. RUN apt-get update && apt-get install -y --no-install-recommends wget ca-certificates gnupg \ && wget -qO- https://packages.mozilla.org/apt/repo-signing-key.gpg \ | gpg --dearmor > /usr/share/keyrings/packages.mozilla.org.gpg \ && echo "deb [signed-by=/usr/share/keyrings/packages.mozilla.org.gpg] https://packages.mozilla.org/apt mozilla main" \ > /etc/apt/sources.list.d/mozilla.list \ && printf 'Package: *\nPin: origin packages.mozilla.org\nPin-Priority: 1000\n' \ > /etc/apt/preferences.d/mozilla \ && rm -rf /var/lib/apt/lists/* RUN apt-get update && apt-get install -y \ tigervnc-standalone-server \ tigervnc-common \ novnc \ python3-websockify \ kde-plasma-desktop \ konsole \ x11-utils \ xfonts-base \ dbus-x11 \ openssh-client \ curl \ firefox \ && rm -rf /var/lib/apt/lists/* # Remove Bluetooth stack — obexd gets activated in a tight loop by kded5 # inside the container (no BT hardware), which exhausts the process limit. RUN apt-get purge -y --auto-remove bluez bluez-obexd 2>/dev/null || true; \ rm -f /usr/share/dbus-1/services/org.bluez.obex.service \ /usr/share/dbus-1/system-services/org.bluez.service COPY discover-logging/ /discover-logging/ RUN chmod +x /discover-logging/build.sh && /discover-logging/build.sh COPY start.sh /start.sh RUN chmod +x /start.sh EXPOSE 6080 CMD ["/start.sh"]