ThongCoder commited on
Commit
5fb5b13
·
verified ·
1 Parent(s): 54c4d95

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +29 -19
Dockerfile CHANGED
@@ -5,8 +5,18 @@ ENV DEBIAN_FRONTEND=noninteractive
5
  # -----------------------------
6
  # Core tools + Build Essentials
7
  # -----------------------------
8
- RUN apt-get update && apt-get install -y \
9
- curl wget git git-lfs unzip sudo nano bash \
 
 
 
 
 
 
 
 
 
 
10
  software-properties-common ca-certificates gnupg \
11
  build-essential g++ gfortran \
12
  cmake ninja-build pkg-config \
@@ -14,7 +24,7 @@ RUN apt-get update && apt-get install -y \
14
  valgrind gdb strace ltrace \
15
  htop tree jq sqlite3 \
16
  net-tools iputils-ping \
17
- rsync git-extras \
18
  fzf silversearcher-ag ripgrep mingw-w64 \
19
  && rm -rf /var/lib/apt/lists/*
20
 
@@ -23,8 +33,8 @@ RUN git lfs install
23
  # -----------------------------
24
  # Python 3.12
25
  # -----------------------------
26
- RUN add-apt-repository ppa:deadsnakes/ppa -y && apt-get update
27
- RUN apt-get install -y python3.12 python3.12-venv python3.12-dev \
28
  && curl -sS https://bootstrap.pypa.io/get-pip.py | python3.12
29
  RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 1 \
30
  && update-alternatives --install /usr/bin/pip pip /usr/local/bin/pip3.12 1
@@ -54,12 +64,12 @@ ENV PATH=/usr/local/go/bin:$PATH
54
  # Node.js + Java + .NET
55
  # -----------------------------
56
  RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
57
- && apt-get install -y nodejs
58
- RUN apt-get install -y openjdk-17-jdk
59
  RUN wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \
60
  && dpkg -i packages-microsoft-prod.deb \
61
  && rm packages-microsoft-prod.deb \
62
- && apt-get update && apt-get install -y dotnet-sdk-8.0
63
 
64
  # Yarn + Pnpm build tools
65
  RUN npm install -g yarn pnpm
@@ -67,7 +77,7 @@ RUN npm install -g yarn pnpm
67
  # -----------------------------
68
  # Haskell
69
  # -----------------------------
70
- RUN apt-get update && apt-get install -y ghc cabal-install && rm -rf /var/lib/apt/lists/*
71
 
72
  # -----------------------------
73
  # Julia
@@ -82,7 +92,7 @@ RUN JULIA_VERSION=1.11.3 \
82
  # Scala + sbt
83
  # -----------------------------
84
  # Install dependencies
85
- RUN apt-get update && apt-get install -y curl gnupg software-properties-common apt-transport-https && rm -rf /var/lib/apt/lists/*
86
 
87
  # Add SBT repository and key
88
  RUN curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x99E82A75642AC823" | gpg --dearmor | tee /usr/share/keyrings/sbt.gpg > /dev/null \
@@ -90,18 +100,18 @@ RUN curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x99E82A7564
90
  && echo "deb [signed-by=/usr/share/keyrings/sbt.gpg] https://repo.scala-sbt.org/scalasbt/debian /" | tee -a /etc/apt/sources.list.d/sbt.list
91
 
92
  # Install Scala + SBT
93
- RUN apt-get update && apt-get install -y scala sbt && rm -rf /var/lib/apt/lists/*
94
 
95
  # -----------------------------
96
  # PHP + Composer
97
  # -----------------------------
98
- RUN apt-get update && apt-get install -y php-cli unzip \
99
  && curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && rm -rf /var/lib/apt/lists/*
100
 
101
  # -----------------------------
102
  # Ruby
103
  # -----------------------------
104
- RUN apt-get update && apt-get install -y ruby-full && rm -rf /var/lib/apt/lists/*
105
 
106
  # -----------------------------
107
  # code-server
@@ -140,7 +150,7 @@ RUN pip install numpy scipy pandas matplotlib seaborn scikit-learn \
140
  RUN npm install -g typescript ts-node nodemon
141
 
142
  # Locales to prevent Unicode issues
143
- RUN apt-get update && apt-get install -y locales \
144
  && locale-gen en_US.UTF-8 \
145
  && update-locale LANG=en_US.UTF-8
146
  ENV LANG=en_US.UTF-8
@@ -148,7 +158,7 @@ ENV LANGUAGE=en_US:en
148
  ENV LC_ALL=en_US.UTF-8
149
 
150
  # Database Clients
151
- RUN apt-get update && apt-get install -y \
152
  mysql-client \
153
  postgresql-client \
154
  redis-tools \
@@ -159,25 +169,25 @@ RUN apt-get update && apt-get install -y \
159
  RUN wget -qO - https://www.mongodb.org/static/pgp/server-7.0.asc | gpg --dearmor -o /usr/share/keyrings/mongodb.gpg \
160
  && echo "deb [signed-by=/usr/share/keyrings/mongodb.gpg] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" \
161
  | tee /etc/apt/sources.list.d/mongodb-org-7.0.list \
162
- && apt-get update && apt-get install -y mongodb-database-tools \
163
  && rm -rf /var/lib/apt/lists/*
164
 
165
  # More build tools
166
- RUN apt-get update && apt-get install -y \
167
  autoconf automake libtool m4 \
168
  ninja-build \
169
  nasm yasm \
170
  graphviz doxygen && rm -rf /var/lib/apt/lists/*
171
 
172
  # Productivity + Debug
173
- RUN apt-get update && apt-get install -y \
174
  tmux screen neovim \
175
  httpie \
176
  shellcheck \
177
  man-db manpages-dev && rm -rf /var/lib/apt/lists/*
178
 
179
  # Removing cache
180
- RUN apt-get clean
181
  RUN pip cache purge
182
 
183
  # -----------------------------
 
5
  # -----------------------------
6
  # Core tools + Build Essentials
7
  # -----------------------------
8
+ # Add apt-fast without interactive config
9
+ RUN add-apt-repository -y ppa:apt-fast/stable \
10
+ && apt-get update \
11
+ && DEBIAN_FRONTEND=noninteractive \
12
+ apt-get -y install apt-fast \
13
+ && echo "DOWNLOADBEFORE=true" | tee -a /etc/apt-fast.conf \
14
+ && echo "MAXNUM=10" | tee -a /etc/apt-fast.conf \
15
+ && echo "USE_PIGZ=1" | tee -a /etc/apt-fast.conf \
16
+ && echo "APTFAST_PARA_OPTS=(--max-connection-per-server=12 --split=5)" | tee -a /etc/apt-fast.conf
17
+
18
+ RUN apt-fast update && apt-fast install -y \
19
+ curl wget git git-lfs unzip sudo nano bash apt-fast \
20
  software-properties-common ca-certificates gnupg \
21
  build-essential g++ gfortran \
22
  cmake ninja-build pkg-config \
 
24
  valgrind gdb strace ltrace \
25
  htop tree jq sqlite3 \
26
  net-tools iputils-ping \
27
+ rsync git-extras pigz \
28
  fzf silversearcher-ag ripgrep mingw-w64 \
29
  && rm -rf /var/lib/apt/lists/*
30
 
 
33
  # -----------------------------
34
  # Python 3.12
35
  # -----------------------------
36
+ RUN add-apt-repository ppa:deadsnakes/ppa -y && apt-fast update
37
+ RUN apt-fast install -y python3.12 python3.12-venv python3.12-dev \
38
  && curl -sS https://bootstrap.pypa.io/get-pip.py | python3.12
39
  RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 1 \
40
  && update-alternatives --install /usr/bin/pip pip /usr/local/bin/pip3.12 1
 
64
  # Node.js + Java + .NET
65
  # -----------------------------
66
  RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
67
+ && apt-fast install -y nodejs
68
+ RUN apt-fast install -y openjdk-17-jdk
69
  RUN wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \
70
  && dpkg -i packages-microsoft-prod.deb \
71
  && rm packages-microsoft-prod.deb \
72
+ && apt-fast update && apt-fast install -y dotnet-sdk-8.0
73
 
74
  # Yarn + Pnpm build tools
75
  RUN npm install -g yarn pnpm
 
77
  # -----------------------------
78
  # Haskell
79
  # -----------------------------
80
+ RUN apt-fast update && apt-fast install -y ghc cabal-install && rm -rf /var/lib/apt/lists/*
81
 
82
  # -----------------------------
83
  # Julia
 
92
  # Scala + sbt
93
  # -----------------------------
94
  # Install dependencies
95
+ RUN apt-fast update && apt-fast install -y curl gnupg software-properties-common apt-transport-https && rm -rf /var/lib/apt/lists/*
96
 
97
  # Add SBT repository and key
98
  RUN curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x99E82A75642AC823" | gpg --dearmor | tee /usr/share/keyrings/sbt.gpg > /dev/null \
 
100
  && echo "deb [signed-by=/usr/share/keyrings/sbt.gpg] https://repo.scala-sbt.org/scalasbt/debian /" | tee -a /etc/apt/sources.list.d/sbt.list
101
 
102
  # Install Scala + SBT
103
+ RUN apt-fast update && apt-fast install -y scala sbt && rm -rf /var/lib/apt/lists/*
104
 
105
  # -----------------------------
106
  # PHP + Composer
107
  # -----------------------------
108
+ RUN apt-fast update && apt-fast install -y php-cli unzip \
109
  && curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && rm -rf /var/lib/apt/lists/*
110
 
111
  # -----------------------------
112
  # Ruby
113
  # -----------------------------
114
+ RUN apt-fast update && apt-fast install -y ruby-full && rm -rf /var/lib/apt/lists/*
115
 
116
  # -----------------------------
117
  # code-server
 
150
  RUN npm install -g typescript ts-node nodemon
151
 
152
  # Locales to prevent Unicode issues
153
+ RUN apt-fast update && apt-fast install -y locales \
154
  && locale-gen en_US.UTF-8 \
155
  && update-locale LANG=en_US.UTF-8
156
  ENV LANG=en_US.UTF-8
 
158
  ENV LC_ALL=en_US.UTF-8
159
 
160
  # Database Clients
161
+ RUN apt-fast update && apt-fast install -y \
162
  mysql-client \
163
  postgresql-client \
164
  redis-tools \
 
169
  RUN wget -qO - https://www.mongodb.org/static/pgp/server-7.0.asc | gpg --dearmor -o /usr/share/keyrings/mongodb.gpg \
170
  && echo "deb [signed-by=/usr/share/keyrings/mongodb.gpg] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" \
171
  | tee /etc/apt/sources.list.d/mongodb-org-7.0.list \
172
+ && apt-fast update && apt-fast install -y mongodb-database-tools \
173
  && rm -rf /var/lib/apt/lists/*
174
 
175
  # More build tools
176
+ RUN apt-fast update && apt-fast install -y \
177
  autoconf automake libtool m4 \
178
  ninja-build \
179
  nasm yasm \
180
  graphviz doxygen && rm -rf /var/lib/apt/lists/*
181
 
182
  # Productivity + Debug
183
+ RUN apt-fast update && apt-fast install -y \
184
  tmux screen neovim \
185
  httpie \
186
  shellcheck \
187
  man-db manpages-dev && rm -rf /var/lib/apt/lists/*
188
 
189
  # Removing cache
190
+ RUN apt-fast clean
191
  RUN pip cache purge
192
 
193
  # -----------------------------