Compare commits
8 Commits
main
...
debian-roc
| Author | SHA1 | Date | |
|---|---|---|---|
| 3532401032 | |||
| f0035f0c26 | |||
| 90fd9cdfad | |||
| 84f54b83a8 | |||
| 254f71bf47 | |||
| c017384ad1 | |||
| efccf9f6ba | |||
| 6ddcd40dd5 |
36
Dockerfile
36
Dockerfile
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"port": 1234,
|
"port" : 1234,
|
||||||
"cors": true,
|
"cors" : true,
|
||||||
"logSensitiveData": true,
|
"logSensitiveData" : true,
|
||||||
"verbose": false,
|
"verbose" : false,
|
||||||
"logLinesLimit": 500,
|
"logLinesLimit" : 500,
|
||||||
"networkInterface": "0.0.0.0"
|
"networkInterface" : "0.0.0.0"
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user