-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
99 lines (80 loc) · 2.79 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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
FROM ubuntu:xenial-20160331.1
COPY keyboard /etc/default/keyboard
# Install git, supervisor, VNC, & X11 packages
RUN set -ex; \
apt-get update; \
apt-get install -y --no-install-recommends \
ubuntu-desktop \
gnome-panel \
net-tools \
curl \
net-tools \
metacity \
bash \
git \
net-tools \
novnc \
supervisor \
x11vnc \
gnome-terminal \
xterm \
xvfb \
htop \
geany \
nginx && \
echo "tzdata tzdata/Areas select America" > ~/tx.txt && \
echo "tzdata tzdata/Zones/America select New York" >> ~/tx.txt && \
debconf-set-selections ~/tx.txt && \
apt-get install -y --no-install-recommends \
gnupg apt-transport-https \
wget software-properties-common \
ratpoison novnc websockify libxv1 \
libglu1-mesa xauth x11-utils xorg tightvncserver \
&& apt-get autoclean \
&& apt-get autoremove
RUN wget https://sourceforge.net/projects/virtualgl/files/2.6.5/virtualgl_2.6.5_amd64.deb && \
wget https://sourceforge.net/projects/turbovnc/files/2.2.5/turbovnc_2.2.5_amd64.deb && \
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && \
apt install -y ./google-chrome-stable_current_amd64.deb && \
dpkg -i virtualgl_*.deb && \
dpkg -i turbovnc_*.deb
RUN wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | apt-key add - && \
add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
RUN apt-get update; \
apt-get install -y code --no-install-recommends
# Installing C++ Graphics Required packages
RUN apt-get -y update --fix-missing
RUN apt-get -y install wget \
g++ build-essential \
software-properties-common apt-transport-https \
libsdl-image1.2 libsdl-image1.2-dev guile-1.8 \
guile-1.8-dev libsdl1.2debian libart-2.0-dev libaudiofile-dev \
libesd0-dev libdirectfb-dev libdirectfb-extra libfreetype6-dev \
libxext-dev x11proto-xext-dev libfreetype6 libaa1 libaa1-dev \
libslang2-dev libasound2 libasound2-dev
RUN wget http://download.savannah.gnu.org/releases/libgraph/libgraph-1.0.2.tar.gz
RUN tar -xvzf libgraph-1.0.2.tar.gz
WORKDIR "/libgraph-1.0.2"
RUN ./configure
RUN make
RUN make install
RUN cp /usr/local/lib/libgraph.* /usr/lib
RUN apt install vim -y
# Setup demo environment variables
ENV HOME=/root \
DEBIAN_FRONTEND=noninteractive \
LANG=en_US.UTF-8 \
LANGUAGE=en_US.UTF-8 \
LC_ALL=C.UTF-8 \
DISPLAY=:0.0 \
DISPLAY_WIDTH=1024 \
DISPLAY_HEIGHT=660 \
RUN_XTERM=yes
COPY . /app
WORKDIR /app/programs
RUN rm -f /etc/nginx/sites-enabled/default
COPY nginx/nginx.conf /etc/nginx/conf.d/nginx.conf
RUN chmod +x /app/conf.d/websockify.sh
RUN chmod +x /app/conf.d/nginx-conf.sh
RUN chmod +x /app/entrypoint.sh
CMD ["/app/entrypoint.sh"]