-
-
Notifications
You must be signed in to change notification settings - Fork 58
/
Dockerfile
49 lines (39 loc) · 1.78 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# syntax=docker/dockerfile:1
FROM pytorch/pytorch:2.0.1-cuda11.7-cudnn8-devel
LABEL symai.image.authors="extensity.ai" \
symai.image.vendor="ExtensityAI" \
symai.image.title="SymbolicAI" \
symai.image.description="SymbolicAI: Compositional Differentiable Programming Library" \
symai.image.source="https://github.com/ExtensityAI/symbolicai.git" \
symai.image.revision="${VCS_REF}" \
symai.image.created="${BUILD_DATE}" \
symai.image.documentation="https://symbolicai.readthedocs.io/en/latest/README.html"
LABEL symai.dependencies.versions.torch="2.0.1"
LABEL symai.dependencies.versions.cuda="11.7"
ARG DEBIAN_FRONTEND=noninteractive
# NVIDIA key migration
RUN apt-key del 7fa2af80
RUN apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub
RUN apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu2004/x86_64/7fa2af80.pub
# Update the base image
RUN apt update && apt upgrade -y
# Install symai
## Install dependencies
RUN apt install -y curl sudo nano git htop netcat wget unzip tmux apt-utils cmake build-essential libgl1-mesa-glx libglib2.0-0
## Upgrade pip
RUN pip3 install --upgrade pip
# Install nvm and pm2
RUN curl -o install_nvm.sh https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh && \
echo 'fabc489b39a5e9c999c7cab4d281cdbbcbad10ec2f8b9a7f7144ad701b6bfdc7 install_nvm.sh' | sha256sum --check && \
bash install_nvm.sh
RUN bash -c "source $HOME/.nvm/nvm.sh && \
# use node 16
nvm install 16 && \
# install pm2
npm install --location=global pm2"
RUN mkdir -p /root/.symai/install
COPY . /root/.symai/install
RUN cd /root/.symai/install && python3 -m pip install ".[all]"
# Increase ulimit to 1,000,000
RUN prlimit --pid=$PPID --nofile=1000000
EXPOSE 8999