FROM ubuntu:24.04 ARG LTX_DESKTOP_VERSION=1.2.7 ARG LTX_DESKTOP_SHA512=d1d59027988a48490492feb42156665bbed511f187739a664ad326492fd8fc0ce43429537150eb6aea9a75a522f6353a40839f9b3ed0449fb720b7c13b091706 RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ build-essential ca-certificates curl dbus-x11 ffmpeg libasound2t64 libatk-bridge2.0-0 \ libatk1.0-0 libcups2 libdrm2 libgbm1 libgtk-3-0 libnss3 libx11-xcb1 \ libxcomposite1 libxdamage1 libxfixes3 libxkbcommon0 libxrandr2 \ novnc openbox procps python3-websockify x11vnc xvfb \ && rm -rf /var/lib/apt/lists/* \ && install -d /opt/ltx-desktop \ && curl -fL --retry 5 \ "https://github.com/Lightricks/LTX-Desktop/releases/download/v${LTX_DESKTOP_VERSION}/LTX-Desktop-x86_64.AppImage" \ -o /tmp/ltx-desktop.AppImage \ && printf '%s %s\n' "$LTX_DESKTOP_SHA512" /tmp/ltx-desktop.AppImage | sha512sum -c - \ && chmod +x /tmp/ltx-desktop.AppImage \ && cd /opt/ltx-desktop \ && /tmp/ltx-desktop.AppImage --appimage-extract >/dev/null \ && sed -i 's/host="127.0.0.1", port=port/host=os.environ.get("LTX_HOST", "127.0.0.1"), port=port/' \ /opt/ltx-desktop/squashfs-root/resources/backend/ltx2_server.py \ && rm /tmp/ltx-desktop.AppImage \ && ln -s /usr/share/novnc/vnc.html /usr/share/novnc/index.html COPY entrypoint.sh /usr/local/bin/ltx-desktop-entrypoint COPY tar-no-owner.sh /usr/local/bin/tar RUN chmod 0755 /usr/local/bin/ltx-desktop-entrypoint /usr/local/bin/tar ENV CC=/usr/bin/gcc \ DISPLAY=:0 \ HOME=/data/home \ XDG_DATA_HOME=/data \ XDG_CONFIG_HOME=/data/config \ XDG_CACHE_HOME=/data/cache \ NO_AT_BRIDGE=1 EXPOSE 8015 41955 ENTRYPOINT ["/usr/local/bin/ltx-desktop-entrypoint"]