46 lines
1.6 KiB
Docker
46 lines
1.6 KiB
Docker
ARG baseimage=fedora:latest
|
|
FROM ${baseimage} AS baseimage
|
|
ENV LANG C.UTF-8
|
|
ENV LC_ALL C.UTF-8
|
|
ENV TZ="Europe/Berlin"
|
|
# Build arguments
|
|
ARG ARG_UID=1000
|
|
ARG ARG_GID=1000
|
|
RUN <<eot
|
|
set -eux
|
|
dnf -y update
|
|
dnf install -y console-setup tzdata dbus mesa-libGL rocm-smi vulkan
|
|
dnf install -y fuse kmod nss atk at-spi2-core xorg-x11-drv-amdgpu spice-vdagent
|
|
dnf install -y pipx xorg-x11-server-Xspice
|
|
#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
|
|
#########################
|
|
FROM baseimage AS final
|
|
#ADD https://lmstudio.ai/download/latest/linux/x64 /data/lms/LMStudio.AppImage
|
|
ADD LMStudio.AppImage /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 --chmod=0755 ./docker-entrypoint.sh /usr/local/bin/
|
|
ADD --chmod=0755 ./docker-healthcheck.sh /usr/local/bin/
|
|
# Setup the healthcheck
|
|
#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
|
|
ENTRYPOINT ["/bin/bash", "/usr/local/bin/docker-entrypoint.sh"]
|