-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
130 lines (128 loc) · 4.69 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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
FROM ubuntu:20.04
LABEL AboutImage "Ubuntu20.04_Fluxbox_NoVNC"
LABEL Maintainer "Apoorv Vyavahare <[email protected]>"
ARG DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND=noninteractive \
#VNC Server Password
VNC_PASS="samplepass" \
#VNC Server Title(w/o spaces)
VNC_TITLE="Ubuntu_Desktop" \
#VNC Resolution(720p is preferable)
VNC_RESOLUTION="1280x720" \
#Local Display Server Port
DISPLAY=:0 \
#NoVNC Port
NOVNC_PORT=$PORT \
#Ngrok Token (It's advisable to use your personal token, else it may clash with other users & your tunnel may get terminated)
NGROK_TOKEN="1tNm3GUFYV1A4lQFXF1bjFvnCvM_4DjiFRiXKGHDaTGBJH8VM" \
#Locale
LANG=en_US.UTF-8 \
LANGUAGE=en_US.UTF-8 \
LC_ALL=C.UTF-8 \
TZ="Asia/Kolkata"
COPY . /app
RUN rm -rf /etc/apt/sources.list && \
#All Official Focal Repos
bash -c 'echo -e "deb http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse\ndeb-src http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse\ndeb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse\ndeb-src http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse\ndeb http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse\ndeb-src http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse\ndeb http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse\ndeb-src http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse\ndeb http://archive.canonical.com/ubuntu focal partner\ndeb-src http://archive.canonical.com/ubuntu focal partner" >/etc/apt/sources.list' && \
rm /bin/sh && ln -s /bin/bash /bin/sh && \
apt-get update && \
apt-get install -y \
#Packages Installation
tzdata \
software-properties-common \
apt-transport-https \
wget \
git \
curl \
vim \
zip \
net-tools \
iputils-ping \
build-essential \
python3 \
python3-pip \
python-is-python3 \
perl \
ruby \
golang \
lua5.3 \
scala \
mono-complete \
r-base \
default-jre \
default-jdk \
clojure \
php \
firefox \
gnome-terminal \
gnome-calculator \
gnome-system-monitor \
gedit \
vim-gtk3 \
mousepad \
libreoffice \
pcmanfm \
snapd \
terminator \
websockify \
supervisor \
x11vnc \
xvfb \
gnupg \
dirmngr \
gdebi-core \
nginx \
novnc \
openvpn \
ffmpeg \
#Fluxbox
/app/fluxbox-heroku-mod.deb && \
#MATE Desktop
#apt install -y \
#ubuntu-mate-core \
#ubuntu-mate-desktop && \
#XFCE Desktop
#apt install -y \
#xubuntu-desktop && \
#TimeZone
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \
echo $TZ > /etc/timezone && \
#NoVNC
cp /usr/share/novnc/vnc.html /usr/share/novnc/index.html && \
openssl req -new -newkey rsa:4096 -days 36500 -nodes -x509 -subj "/C=IN/ST=Maharastra/L=Private/O=Dis/CN=www.google.com" -keyout /etc/ssl/novnc.key -out /etc/ssl/novnc.cert && \
#VS Code
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg && \
install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/ && \
sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list' && \
rm -f packages.microsoft.gpg && \
apt install apt-transport-https && \
apt update && \
apt install code -y && \
cd /usr/bin && \
#Brave
curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg && \
echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main"|tee /etc/apt/sources.list.d/brave-browser-release.list && \
apt update && \
apt install brave-browser -y && \
#PeaZip
wget https://github.com/peazip/PeaZip/releases/download/7.9.0/peazip_7.9.0.LINUX.x86_64.GTK2.deb && \
dpkg -i peazip_7.9.0.LINUX.x86_64.GTK2.deb && \
rm -rf peazip_7.9.0.LINUX.x86_64.GTK2.deb && \
#Sublime
curl -fsSL https://download.sublimetext.com/sublimehq-pub.gpg | apt-key add - && \
add-apt-repository "deb https://download.sublimetext.com/ apt/stable/" && \
apt install -y sublime-text && \
#Ngrok
chmod +x /app/ngrok_install.sh && \
/app/ngrok_install.sh && \
#Telegram
wget https://updates.tdesktop.com/tlinux/tsetup.2.7.4.tar.xz -P /tmp && \
tar -xvf /tmp/tsetup.2.7.4.tar.xz -C /tmp && \
mv /tmp/Telegram/Telegram /usr/bin/telegram && \
#PowerShell
wget -q https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -P /tmp && \
apt install -y /tmp/packages-microsoft-prod.deb && \
apt update && \
apt-get install -y powershell
ENTRYPOINT ["supervisord", "-c"]
CMD ["/app/supervisord.conf"]