-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile.emsdk
71 lines (64 loc) · 1.91 KB
/
Dockerfile.emsdk
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
FROM dockcross/web-wasm
RUN apt-get update -y && apt install locales -y && locale-gen "en_US.UTF-8" && rm -rf /var/cache/apt
ENV LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 TZ=Asia/Shanghai PYTHONIOENCODING=UTF-8 PYTHONUNBUFFERED=1 EDITOR=vim
RUN ln -s -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN curl -o /bin/jq --location https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64 && chmod a+x /bin/jq
RUN bash -c "$(curl -fsSL https://raw.githubusercontent.com/ohmybash/oh-my-bash/master/tools/install.sh)"
RUN git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf && ~/.fzf/install --all
ADD entry.sh /bin/entry.sh
ENTRYPOINT ["/bin/entry.sh"]
ADD _vimrc /root/.vimrc
RUN echo "umask 0000" >> ~/.bashrc
RUN apt-get update -y && apt install -y \
curl \
graphviz \
htop \
libcurl4-openssl-dev \
libgl1-mesa-glx \
libncursesw5-dev \
libsm6 \
libssl-dev \
libxext6 \
libxrender-dev \
libxrender1 \
make \
parallel \
rsync \
silversearcher-ag \
sudo \
tmux \
tree \
unzip \
vim \
wget \
zlib1g-dev \
zsh \
&& rm -rf /var/cache/apt
# headless display
RUN apt-get update -y && apt install -y \
libegl1 \
libgl1-mesa-glx \
libopengl0 \
libosmesa6 \
libxcb-cursor0 \
libxcb-icccm4 \
libxcb-image0 \
libxcb-keysyms1 \
libxcb-randr0 \
libxcb-render-util0 \
libxcb-shape0 \
libxcb-xfixes0 \
libxcb-xinerama0 \
libxkbcommon-x11-0 \
mesa-utils \
x11-xserver-utils \
xvfb \
&& rm -rf /var/cache/apt
ENV DISPLAY=:99.0
ENV PYVISTA_OFF_SCREEN=true
# Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
# https://github.com/pyvista/setup-headless-display-action/blob/main/action.yml
RUN python3 --version && pip install pyvista
# python -c "import pyvista;pyvista.Sphere().plot(screenshot='sphere.png')"
# use https://github.com/cubao/ggweb to test emsdk building
CMD ["yes"]