8 Commits

Author SHA1 Message Date
3532401032 not loading model at startup 2025-12-04 19:41:38 +01:00
f0035f0c26 Downloading lmstudio on build 2025-12-04 11:56:15 +01:00
90fd9cdfad ENV later 2025-12-03 18:31:58 +01:00
84f54b83a8 X resolution 2025-11-11 12:11:59 +01:00
254f71bf47 adding more threads 2025-11-10 12:12:20 +01:00
c017384ad1 fixes for paths and not using debian-slim 2025-11-09 18:45:14 +01:00
efccf9f6ba here we go 2025-11-09 14:44:05 +01:00
6ddcd40dd5 adaption to newer lm-studio versions 2025-11-09 13:29:41 +01:00
3 changed files with 39 additions and 29 deletions

View File

@@ -1,12 +1,12 @@
ARG baseimage=nvidia/cuda:12.8.1-cudnn-devel-ubuntu22.04
ARG baseimage=debian:testing
FROM ${baseimage} AS baseimage
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8
ENV TZ="Etc/UTC"
ENV TZ="Europe/Berlin"
ARG DEBIAN_FRONTEND=noninteractive
# Build arguments
@@ -19,41 +19,51 @@ RUN <<eot
apt -qy install --no-install-recommends \
-o APT::Install-Recommends=false \
-o APT::Install-Suggests=false \
console-setup tzdata dbus x11-utils x11-xserver-utils libgl1-mesa-glx
console-setup tzdata dbus x11-utils x11-xserver-utils dbus-x11 rocm-smi mesa-vulkan-drivers
apt -qy update
DEBIAN_FRONTEND=noninteractive apt -qy install --no-install-recommends \
-o APT::Install-Recommends=false \
-o APT::Install-Suggests=false \
libfuse2 kmod fuse libglib2.0-0 libnss3 libatk1.0-0 libatk-bridge2.0-0 libcups2 libdrm2 libgtk-3-0 libgbm1 libasound2 xserver-xorg xvfb x11vnc
libfuse2 kmod fuse libglib2.0-0 libnss3 libatk1.0-0 libatk-bridge2.0-0 libcups2 libdrm2 libgtk-3-0 libgbm1 libasound2t64 \
xserver-xorg xserver-xorg-video-amdgpu xvfb x11vnc \
libgomp1-amd64-cross libgomp1 libegl-mesa0 libegl1 pipx
mkdir -p /root/.vnc && x11vnc -storepasswd test123 /root/.vnc/passwd
pipx install uv
eot
RUN <<eot
echo 'export PATH="${PATH}:/root/.local/bin"' >>/root/.bashrc
echo 'export LLAMA_THREADS=12' >> ~/.bashrc
echo 'export DISPLAY=:99' >> ~/.bashrc
echo 'alias lms="~/.lmstudio/bin/lms"' >> ~/.bashrc
eot
ENV DISPLAY=:99
#########################
FROM baseimage AS final
ADD ./LM-Studio* /data/lms/
ADD https://lmstudio.ai/download/latest/linux/x64 /data/lms/LMStudio.AppImage
ADD ./http-server-config.json /http-server-config.json
RUN <<eot
set -eux
chmod ugo+x /data/lms/*.AppImage
/data/lms/*.AppImage --appimage-extract
rm /data/lms/*.AppImage
eot
ADD ./docker-entrypoint.sh /usr/local/bin/
ADD ./docker-healthcheck.sh /usr/local/bin/
ADD --chmod=0755 ./docker-entrypoint.sh /usr/local/bin/
ADD --chmod=0755 ./docker-healthcheck.sh /usr/local/bin/
# Ensure the scripts are executable
RUN chmod +x /usr/local/bin/docker-entrypoint.sh && \
chmod +x /usr/local/bin/docker-healthcheck.sh
# Setup the healthcheck
HEALTHCHECK --interval=1m --timeout=10s --start-period=1m \
CMD /bin/bash /usr/local/bin/docker-healthcheck.sh || exit 1
#HEALTHCHECK --interval=1m --timeout=10s --start-period=1m \
# CMD /bin/bash /usr/local/bin/docker-healthcheck.sh || exit 1
ENV DISPLAY=:99
# Not sure that this works
ENV LLAMA_THREADS=12
# Run the server
# CMD ["sh", "-c", "tail -f /dev/null"] # For development: keep container open

View File

@@ -1,22 +1,22 @@
#!/bin/bash
rm /tmp/.X99-lock
#set GPU Power profile to COMPUTE
/usr/bin/rocm-smi --setprofile 4
rm -f /tmp/.X99-lock
mkdir /run/dbus
/usr/bin/dbus-daemon --fork --system
Xvfb :99 -screen 0 1920x1080x16 &
sleep 2
# -----------------------------------
echo 'alias lms="~/.cache/lm-studio/bin/lms"' > ~/.bashrc
/squashfs-root/lm-studio --no-sandbox &
/squashfs-root/lm-studio --no-sandbox --threads 12 &
sleep 30
~/.cache/lm-studio/bin/lms server start --cors &
sleep 5
# ~/.cache/lm-studio/bin/lms get ${MODEL_PATH}
~/.cache/lm-studio/bin/lms load --gpu 0.3 --ttl 3600 --context-length ${CONTEXT_LENGTH:-16384} ${MODEL_IDENTIFIER} &
~/.lmstudio/bin/lms server start --cors &
sleep 20
cp -f /http-server-config.json /root/.cache/lm-studio/.internal/http-server-config.json
cp -f /http-server-config.json /root/.lmstudio/.internal/http-server-config.json
x11vnc -display :99 -forever -rfbauth /root/.vnc/passwd -quiet -listen 0.0.0.0 -xkb
/bin/bash