Add exclusive LTX-2 video studio profile

This commit is contained in:
Mikei386 committed 2026-09-13 21:33:57 +02:00
1 parent fce9900389
commit a78aed8e9e
12 files changed
+233 -15

No files matched your search

+34
View File
@@ -0,0 +1,34 @@
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 \
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 \
&& 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
RUN chmod 0755 /usr/local/bin/ltx-desktop-entrypoint
ENV 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
ENTRYPOINT ["/usr/local/bin/ltx-desktop-entrypoint"]
+16
View File
@@ -0,0 +1,16 @@
# LTX-2 Studio
This specialist profile runs the official LTX Desktop 1.2.7 application in a
browser-accessible private desktop. The image is pinned to the release checksum.
Application data, downloaded models and outputs persist below
`/data/video/ltx-desktop`.
The profile controller starts only the container labelled
`com.mike-ai.video-worker=ltx2`. Starting it stops every LLM, image, speech,
music, voice and 3D GPU worker first. The UI is reachable only through Athena's
WireGuard gateway at `http://192.168.1.212:8015`.
The RTX 5080 has the official minimum of 16 GiB VRAM for LTX Desktop local
generation. Start with LTX Fast, 720p or below and at most about ten seconds.
Model downloads may require accepting Lightricks' model license and signing in
to Hugging Face in the application.
+35
View File
@@ -0,0 +1,35 @@
services:
ltx2-studio:
build:
context: .
args:
LTX_DESKTOP_VERSION: "1.2.7"
LTX_DESKTOP_SHA512: "d1d59027988a48490492feb42156665bbed511f187739a664ad326492fd8fc0ce43429537150eb6aea9a75a522f6353a40839f9b3ed0449fb720b7c13b091706"
image: mike-ai/ltx2-studio:1.2.7
container_name: mike-ai-ltx2-studio
restart: "no"
labels:
com.mike-ai.video-worker: ltx2
gpus: all
shm_size: 8g
environment:
NVIDIA_VISIBLE_DEVICES: ${LTX2_GPU_UUID:-GPU-8ad38c6c-5a01-9d8e-1dfa-ed662ad78fbe}
NVIDIA_DRIVER_CAPABILITIES: compute,utility,graphics
volumes:
- /data/video/ltx-desktop:/data
networks:
- frontend
security_opt:
- no-new-privileges:true
cap_drop: [ALL]
healthcheck:
test: [CMD, curl, -fsS, http://127.0.0.1:8015/]
interval: 10s
timeout: 5s
retries: 30
start_period: 30s
networks:
frontend:
external: true
name: mike-ai_frontend
+30
View File
@@ -0,0 +1,30 @@
#!/bin/sh
set -eu
install -d -m 0755 "$HOME" "$XDG_CONFIG_HOME" "$XDG_CACHE_HOME" /data/models /data/outputs
cleanup() {
kill "${app_pid:-}" "${web_pid:-}" "${vnc_pid:-}" "${wm_pid:-}" "${x_pid:-}" 2>/dev/null || true
}
trap cleanup EXIT INT TERM
Xvfb :0 -screen 0 1600x1000x24 -nolisten tcp &
x_pid=$!
for _ in $(seq 1 50); do
[ -S /tmp/.X11-unix/X0 ] && break
sleep 0.1
done
openbox >/tmp/openbox.log 2>&1 &
wm_pid=$!
x11vnc -display :0 -forever -shared -nopw -rfbport 5900 \
>/tmp/x11vnc.log 2>&1 &
vnc_pid=$!
websockify --web=/usr/share/novnc 8015 127.0.0.1:5900 \
>/tmp/websockify.log 2>&1 &
web_pid=$!
/opt/ltx-desktop/squashfs-root/AppRun --no-sandbox --disable-gpu-sandbox \
--disable-dev-shm-usage >/data/ltx-desktop.log 2>&1 &
app_pid=$!
wait "$app_pid"