gomoku / Dockerfile
zjowowen's picture
init space
3dfe8fb
FROM pytorch/pytorch:2.1.2-cuda12.1-cudnn8-runtime as base
ENV DEBIAN_FRONTEND=noninteractive
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:UTF-8
ENV LC_ALL en_US.UTF-8
RUN apt update -y \
&& apt install libgl1-mesa-glx libglib2.0-0 libsm6 libxext6 libxrender-dev swig curl git vim gcc \g++ make wget locales dnsutils zip unzip cmake nginx -y \
&& curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
&& apt-get install -y nodejs \
&& npm install -g npm@10.3.0 \
&& npm install -g create-react-app \
&& npm install typescript -g \
&& npm install -g vite \
&& apt clean \
&& rm -rf /var/cache/apt/* \
&& sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen \
&& locale-gen
ADD nginx.conf /etc/nginx/nginx.conf
# Set up a new user named "user" with user ID 1000
RUN useradd -m -u 1000 user
RUN mkdir -p /var/cache/nginx \
/var/log/nginx \
/var/lib/nginx
RUN touch /var/run/nginx.pid
RUN touch /run/nginx.pid
RUN chown -R user:user /var/cache/nginx \
/var/log/nginx \
/var/lib/nginx \
/var/run/nginx.pid \
/run/nginx.pid
# Switch to the "user" user
USER user
# Set home to the user's home directory
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH
WORKDIR $HOME/workspace
ADD --chown=user DI-engine DI-engine
ADD --chown=user LightZero LightZero
ADD --chown=user gomoku_server_ui gomoku_server_ui
ADD --chown=user run.sh run.sh
RUN python3 -m pip install --upgrade pip
RUN cd ./DI-engine \
&& python3 -m pip install -e .[video] \
&& cd ..
RUN cd ./LightZero \
&& pip install -r requirements-build.txt \
&& pip install -e . \
&& cd ..
RUN cd ./gomoku_server_ui \
&& cd frontend \
&& npm install \
&& cd .. \
&& cd backend \
&& pip install -r requirement.txt \
&& cd .. \
&& cd ..
RUN cd $HOME/workspace \
&& chmod 777 run.sh
EXPOSE 3000
EXPOSE 5001
EXPOSE 2333
CMD sh ./run.sh