Compare commits

6 Commits

Author SHA1 Message Date
b63bb26c1b doesn't really work 2025-12-05 12:55:15 +01:00
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
2 changed files with 26 additions and 45 deletions

View File

@@ -1,66 +1,45 @@
ARG baseimage=fedora:latest
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="Europe/Berlin" ENV TZ="Europe/Berlin"
ARG DEBIAN_FRONTEND=noninteractive
# Build arguments # Build arguments
ARG ARG_UID=1000 ARG ARG_UID=1000
ARG ARG_GID=1000 ARG ARG_GID=1000
RUN <<eot RUN <<eot
set -eux set -eux
apt -qy update dnf -y update
apt -qy install --no-install-recommends \ dnf install -y console-setup tzdata dbus mesa-libGL rocm-smi vulkan
-o APT::Install-Recommends=false \ dnf install -y fuse kmod nss atk at-spi2-core xorg-x11-drv-amdgpu spice-vdagent
-o APT::Install-Suggests=false \ dnf install -y pipx xorg-x11-server-Xspice
console-setup tzdata dbus x11-utils x11-xserver-utils rocm-smi mesa-vulkan-drivers #mkdir -p /root/.vnc && x11vnc -storepasswd test123 /root/.vnc/passwd
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 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 pipx install uv
eot eot
RUN <<eot RUN <<eot
echo 'export PATH="${PATH}:/root/.local/bin"' >>/root/.bashrc 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 echo 'alias lms="~/.lmstudio/bin/lms"' >> ~/.bashrc
eot eot
ENV DISPLAY=:99
######################### #########################
FROM baseimage AS final FROM baseimage AS final
#ADD https://lmstudio.ai/download/latest/linux/x64 /data/lms/LMStudio.AppImage
ADD ./LM-Studio* /data/lms/ ADD LMStudio.AppImage /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 rm /data/lms/*.AppImage
eot eot
ADD --chmod=0755 ./docker-entrypoint.sh /usr/local/bin/ ADD --chmod=0755 ./docker-entrypoint.sh /usr/local/bin/
ADD --chmod=0755 ./docker-healthcheck.sh /usr/local/bin/ ADD --chmod=0755 ./docker-healthcheck.sh /usr/local/bin/
# 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
ENTRYPOINT ["/bin/bash", "/usr/local/bin/docker-entrypoint.sh"] ENTRYPOINT ["/bin/bash", "/usr/local/bin/docker-entrypoint.sh"]

View File

@@ -1,21 +1,23 @@
#!/bin/bash #!/bin/bash
rm /tmp/.X99-lock #set GPU Power profile to COMPUTE
Xvfb :99 -screen 0 1920x1080x16 & /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 &
Xspice --port 5900 --disable-ticketing $DISPLAY > /dev/stdout 2>/dev/stderr &
sleep 2 sleep 2
# ----------------------------------- # -----------------------------------
/squashfs-root/lm-studio --no-sandbox & /squashfs-root/lm-studio --no-sandbox --threads 12 &
sleep 30 sleep 20
~/.lmstudio/bin/lms server start --cors & ~/.lmstudio/bin/lms server start --cors &
sleep 10
sleep 5
# ~/.cache/lm-studio/bin/lms get ${MODEL_PATH}
~/.lmstudio/bin/lms load --ttl 3600 --context-length ${CONTEXT_LENGTH:-16384} ${MODEL_IDENTIFIER} &
sleep 20
cp -f /http-server-config.json /root/.lmstudio/.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