Add exclusive LTX-2 video studio profile
This commit is contained in:
1 parent
fce9900389
commit
a78aed8e9e
12 files changed
+233
-15
No files matched your search
@@ -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"]
|
||||
@@ -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.
|
||||
@@ -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
|
||||
@@ -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"
|
||||
Reference in new issue
Block a user