Files

39 lines
1.7 KiB
Docker

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"]