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 FROM ${baseimage} AS baseimage
ENV LANG C.UTF-8 ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8 ENV LC_ALL C.UTF-8
ENV TZ="Etc/UTC" ENV TZ="Europe/Berlin"
ARG DEBIAN_FRONTEND=noninteractive ARG DEBIAN_FRONTEND=noninteractive
# Build arguments # Build arguments
@@ -19,41 +19,51 @@ RUN <<eot
apt -qy install --no-install-recommends \ apt -qy install --no-install-recommends \
-o APT::Install-Recommends=false \ -o APT::Install-Recommends=false \
-o APT::Install-Suggests=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 apt -qy update
DEBIAN_FRONTEND=noninteractive apt -qy install --no-install-recommends \ DEBIAN_FRONTEND=noninteractive apt -qy install --no-install-recommends \
-o APT::Install-Recommends=false \ -o APT::Install-Recommends=false \
-o APT::Install-Suggests=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 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 eot
ENV DISPLAY=:99
######################### #########################
FROM baseimage AS final 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 ADD ./http-server-config.json /http-server-config.json
RUN <<eot RUN <<eot
set -eux set -eux
chmod ugo+x /data/lms/*.AppImage chmod ugo+x /data/lms/*.AppImage
/data/lms/*.AppImage --appimage-extract /data/lms/*.AppImage --appimage-extract
rm /data/lms/*.AppImage
eot eot
ADD ./docker-entrypoint.sh /usr/local/bin/ ADD --chmod=0755 ./docker-entrypoint.sh /usr/local/bin/
ADD ./docker-healthcheck.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 # Setup the healthcheck
HEALTHCHECK --interval=1m --timeout=10s --start-period=1m \ #HEALTHCHECK --interval=1m --timeout=10s --start-period=1m \
CMD /bin/bash /usr/local/bin/docker-healthcheck.sh || exit 1 # 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 # Run the server
# CMD ["sh", "-c", "tail -f /dev/null"] # For development: keep container open # CMD ["sh", "-c", "tail -f /dev/null"] # For development: keep container open

View File

@@ -1,22 +1,22 @@
#!/bin/bash #!/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 & Xvfb :99 -screen 0 1920x1080x16 &
sleep 2 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 sleep 30
~/.cache/lm-studio/bin/lms server start --cors & ~/.lmstudio/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} &
sleep 20 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 x11vnc -display :99 -forever -rfbauth /root/.vnc/passwd -quiet -listen 0.0.0.0 -xkb
/bin/bash /bin/bash