mirror of
https://github.com/nestriness/nestri.git
synced 2025-12-12 08:45:38 +02:00
## Description **What(what issue does this code solve/what feature does it add):** Currently on `docker run --gpus 1 netris:server` and run `nvidia-smi` you get an error. **How(how does it solve it):** We add the relevant NVIDIA_* env variables to allow for gpu passthrough. ## Required Checklist: - [ ] I have added any necessary documentation and comments in my code (where appropriate) - [ ] I have added tests to make sure my code runs in all contexts ## Further comments Co-authored-by: Wanjohi <71614375+wanjohiryan@usersnoreply.github.com>
55 lines
1.6 KiB
Docker
55 lines
1.6 KiB
Docker
#This contains all the necessary libs for the server to work.
|
|
#NOTE: KEEP THIS IMAGE AS LEAN AS POSSIBLE.
|
|
|
|
FROM ubuntu:22.04
|
|
|
|
#FIXME: install Vulkan drivers (should be done in the .scripts/gpu)
|
|
#FIXME: install https://git.dec05eba.com/gpu-screen-recorder (should be done in the .scripts/stream)
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive \
|
|
TIMEZONE=Africa/Nairobi
|
|
|
|
#Install base libs
|
|
RUN apt update && \
|
|
dpkg --add-architecture i386 && \
|
|
apt install -y \
|
|
software-properties-common \
|
|
curl \
|
|
apt-transport-https \
|
|
apt-utils \
|
|
wget \
|
|
git \
|
|
jq \
|
|
locales \
|
|
&& rm -rf /var/lib/apt/lists/* \
|
|
&& locale-gen en_US.UTF-8
|
|
|
|
#Set language variables
|
|
ENV LANG=en_US.UTF-8 \
|
|
LANGUAGE=en_US:en \
|
|
LC_ALL=en_US.UTF-8
|
|
|
|
COPY .scripts/ /usr/bin/netris/
|
|
|
|
RUN ls -la /usr/bin/netris \
|
|
&& chmod +x /usr/bin/netris/proton
|
|
|
|
# Expose NVIDIA libraries and paths
|
|
ENV PATH=/usr/local/nvidia/bin:${PATH} \
|
|
LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/usr/lib/i386-linux-gnu${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}:/usr/local/nvidia/lib:/usr/local/nvidia/lib64 \
|
|
# Make all NVIDIA GPUs visible by default
|
|
NVIDIA_VISIBLE_DEVICES=all \
|
|
# All NVIDIA driver capabilities should preferably be used, check `NVIDIA_DRIVER_CAPABILITIES` inside the container if things do not work
|
|
NVIDIA_DRIVER_CAPABILITIES=all \
|
|
# Disable VSYNC for NVIDIA GPUs
|
|
__GL_SYNC_TO_VBLANK=0
|
|
|
|
#Install proton
|
|
# RUN /usr/bin/netris/proton -i
|
|
|
|
ENV TINI_VERSION v0.19.0
|
|
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini
|
|
RUN chmod +x /tini
|
|
ENTRYPOINT ["/tini", "--"]
|
|
|
|
CMD [ "/bin/bash" ] |