@@ -4,7 +4,9 @@ EXPOSE 22 7200 7777 8080 9090 3000
4
4
5
5
# Env config
6
6
ENV TERM=xterm-256color
7
- ENV DEBIAN_FRONTEND=noninteractive
7
+
8
+ # Build args
9
+ ARG DEBIAN_FRONTEND=noninteractive
8
10
9
11
RUN chown root:root /tmp && chmod ugo+rwXt /tmp
10
12
@@ -29,22 +31,28 @@ RUN rm /etc/dpkg/dpkg.cfg.d/excludes && \
29
31
# =============================================
30
32
# Misc libs and tools
31
33
# =============================================
32
- RUN apt-get install -y libgtk2.0-0 libcanberra-gtk-module libxext-dev libxrender-dev libxtst-dev xclip man nano vim software-properties-common tmux htop dos2unix mc gnome-keyring figlet jq strace atop rpm python3-pip python-pip graphviz inotify-tools pv xmlstarlet xmldiff q-text-as-data m4 tree silversearcher-ag libxml2-utils libwebsockets-dev
34
+ RUN apt-get install -y libgtk2.0-0 libcanberra-gtk-module libxext-dev libxrender-dev libxtst-dev xclip man nano vim software-properties-common \
35
+ tmux htop dos2unix mc gnome-keyring figlet jq strace atop rpm python3-pip python-pip graphviz inotify-tools pv xmlstarlet xmldiff \
36
+ q-text-as-data m4 tree silversearcher-ag libxml2-utils libwebsockets-dev konsole most tig && \
37
+ apt-get clean
33
38
34
39
# =============================================
35
40
# Networking tools
36
41
# =============================================
37
- RUN apt-get install -qqy curl telnet tcpdump nmap iputils-ping traceroute whois net-tools dnsutils netcat lsof ngrep sshfs cifs-utils
42
+ RUN apt-get install -qqy curl telnet tcpdump nmap iputils-ping traceroute whois net-tools dnsutils netcat lsof ngrep sshfs cifs-utils && \
43
+ apt-get clean
38
44
39
45
# =============================================
40
46
# GIT
41
47
# =============================================
42
- RUN apt-get -y install git bash-completion git-flow gitk tig
48
+ RUN apt-get -y install git bash-completion git-flow gitk tig && \
49
+ apt-get clean
43
50
44
51
# =============================================
45
52
# Install java12
46
53
# =============================================
47
- RUN apt-get install -y openjdk-12-jdk
54
+ RUN apt-get install -y openjdk-12-jdk && \
55
+ apt-get clean
48
56
49
57
# =============================================
50
58
# Install go
@@ -59,7 +67,8 @@ RUN add-apt-repository ppa:longsleep/golang-backports && \
59
67
# =============================================
60
68
# Install nodejs
61
69
# =============================================
62
- RUN apt-get install -y nodejs npm
70
+ RUN apt-get install -y nodejs npm && \
71
+ apt-get clean
63
72
64
73
# =============================================
65
74
# Add sudo
@@ -73,10 +82,6 @@ RUN apt-get install -y cifs-utils sudo && \
73
82
RUN apt-get install -y openssh-server && \
74
83
sed -i -e s/prohibit-password/yes/ /etc/ssh/sshd_config
75
84
76
- # =============================================
77
- # Terminal emulators
78
- # =============================================
79
- RUN apt-get install -y konsole
80
85
81
86
# =============================================
82
87
# Firefox
@@ -92,7 +97,8 @@ RUN apt-get -y install bzip2 dbus-x11 && \
92
97
tar -C /opt -xjf /tmp/firefox.tar.bz2 && \
93
98
rm /tmp/firefox.tar.bz2 && \
94
99
mv /opt/firefox /opt/firefox-$FIREFOX_VERSION && \
95
- ln -fs /opt/firefox-$FIREFOX_VERSION/firefox /usr/bin/firefox
100
+ ln -fs /opt/firefox-$FIREFOX_VERSION/firefox /usr/bin/firefox && \
101
+ apt-get clean
96
102
97
103
# =============================================
98
104
# Docker-ce, allow running docker in docker
@@ -102,7 +108,8 @@ RUN apt install -y apt-transport-https ca-certificates curl gnupg-agent software
102
108
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && \
103
109
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu disco stable" && \
104
110
apt-get update && \
105
- apt-get install -y docker-ce
111
+ apt-get install -y docker-ce && \
112
+ apt-get clean
106
113
107
114
# =============================================
108
115
# Timezone and locale
@@ -115,11 +122,12 @@ RUN apt-get install -y locales tzdata && \
115
122
116
123
RUN wget -nv https://packagecloud.io/AtomEditor/atom/gpgkey -O /tmp/AtomEditor_atom.pub.gpg \
117
124
&& wget -nv https://dl-ssl.google.com/linux/linux_signing_key.pub -O /tmp/google.pub.gpg \
118
- && wget -nv https://download.docker.com/linux/ubuntu/gpg -O /tmp/docker.pub.gpg
119
-
120
- RUN apt-key add /tmp/google.pub.gpg \
125
+ && wget -nv https://download.docker.com/linux/ubuntu/gpg -O /tmp/docker.pub.gpg \
126
+ && apt-key add /tmp/google.pub.gpg \
121
127
&& apt-key add /tmp/docker.pub.gpg \
122
- && apt-get clean && apt-get update \
128
+ && apt-get clean \
129
+ && apt-get update \
130
+ && apt-get clean \
123
131
&& rm /tmp/*.pub.gpg
124
132
125
133
# =============================================
@@ -154,16 +162,15 @@ RUN apt-get install -y cmake g++ pkg-config vim-common libwebsockets-dev libjson
154
162
&& cd ttyd && mkdir build && cd build \
155
163
&& cmake .. \
156
164
&& make && make install
165
+ && rm -rf /tmp/ttyd
157
166
158
167
# =============================================
159
168
# Misc tools
160
169
# =============================================
161
170
# ripgrep
162
171
RUN curl -LO https://github.com/BurntSushi/ripgrep/releases/download/11.0.2/ripgrep_11.0.2_amd64.deb && sudo dpkg -i ripgrep_11.0.2_amd64.deb
163
172
# fzf
164
- RUN cd /tmp && git clone --depth 1 https://github.com/junegunn/fzf.git && /tmp/fzf/install --bin && cp /tmp/fzf/bin/fzf /usr/bin/fzf
165
- # most & tig
166
- RUN apt-get install -y most tig
173
+ RUN cd /tmp && git clone --depth 1 https://github.com/junegunn/fzf.git && /tmp/fzf/install --bin && cp /tmp/fzf/bin/fzf /usr/bin/fzf && rm -rf /tmp/fzf
167
174
168
175
# =============================================
169
176
# Set root pwd
0 commit comments