11# https://github.com/theia-ide/theia-apps/tree/master/theia-cpp-docker
22
3- FROM debian:trixie-slim as base
3+ FROM debian:trixie-slim AS base
44
55ARG USER=anubis
6- ARG DIST=bullseye
6+ ARG DIST=trixie
77ARG PY_VERSION=3.13.7
88
99ENV PY_VERSION=$PY_VERSION \
@@ -42,8 +42,8 @@ RUN set -ex; \
4242 apt-utils pkg-config curl lsb-release autoconf; \
4343 \
4444 `# Add LLVM to apt` \
45- wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - ; \
46- echo "deb http://apt.llvm.org/${DIST}/ llvm-toolchain-${DIST} main" \
45+ wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | gpg --dearmor -o /usr/share/keyrings/llvm-keyring.gpg ; \
46+ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/llvm-keyring.gpg] http://apt.llvm.org/${DIST}/ llvm-toolchain-${DIST} main" \
4747 > /etc/apt/sources.list.d/llvm.list; \
4848 \
4949 `# Add Docker to apt` \
@@ -60,7 +60,7 @@ RUN set -ex; \
6060 \
6161 apt-get update; \
6262 apt-get install -y --no-install-recommends \
63- git curl wget build-essential tree clangd zsh exa locales zip unzip \
63+ git curl wget build-essential tree clangd zsh eza locales zip unzip \
6464 libffi-dev libexpat1-dev \
6565 libgdbm-dev liblzma-dev zlib1g-dev \
6666 libsqlite3-dev libssl-dev openssl \
@@ -88,7 +88,6 @@ RUN set -ex; \
8888 --enable-option-checking=fatal \
8989 --enable-shared \
9090 --with-system-expat \
91- --with-system-ffi \
9291 --without-ensurepip; \
9392 make -j $(nproc) LDFLAGS="-Wl,--strip-all" ; \
9493 make install; \
@@ -138,7 +137,7 @@ RUN set -ex; \
138137 chown anubis:anubis /log
139138
140139# Build Theia Application
141- ARG CODE_SERVER_VERSION=4.20.0
140+ ARG CODE_SERVER_VERSION=4.103.2
142141ARG CODE_SERVER_INDEX=/usr/lib/code-server/lib/vscode/out/vs/code/browser/workbench/workbench.html
143142COPY config.yml /etc/anubis/config.yml
144143COPY settings.json /opt/code-server/User/settings.json
@@ -153,20 +152,21 @@ RUN set -ex; \
153152 \
154153 `# Disable insecure warning`; \
155154 sed -i 's/window.isSecureContext||/false&&/' \
156- /usr/lib/code-server/lib/vscode/out/vs/workbench/workbench.web.main .js; \
155+ /usr/lib/code-server/lib/vscode/out/vs/code/browser/ workbench/workbench.js; \
157156 \
158157 `# Enable fontawesome css in CSP` \
159158 sed -i "s/style-src 'self' 'unsafe-inline'/style-src 'self' 'unsafe-inline' https:\/\/ use.fontawesome.com/" \
160- /usr/lib/code-server/lib/vscode/out/vs/server/node/server.main.js; \
159+ /usr/lib/code-server/lib/vscode/out/server-main.js \
160+ /usr/lib/code-server/lib/vscode/out/vs/code/browser/workbench/workbench.js; \
161161 \
162162 `# Insert heartbeat script`; \
163163 SCRIPT_LINE='<script>function ping(){if (document.hasFocus()){fetch("/ide/ping")}};document.addEventListener("focus",ping);setInterval(ping,60000)</script>' ; \
164164 HEAD_LINE_NUMBER=$(grep -n '</head>' ${CODE_SERVER_INDEX} | cut -f1 -d:); \
165165 sed -i "${HEAD_LINE_NUMBER}i${SCRIPT_LINE}" ${CODE_SERVER_INDEX}; \
166166 \
167167 `# Disable the insanely annoying bash shell integration`; \
168- sed -i '1ireturn' /usr/lib/code-server/lib/vscode/out/vs/workbench/contrib/terminal/browser/media /shellIntegration-bash.sh; \
169- sed -i '1isource ~/.bashrc' /usr/lib/code-server/lib/vscode/out/vs/workbench/contrib/terminal/browser/media /shellIntegration-bash.sh; \
168+ sed -i '1ireturn' /usr/lib/code-server/lib/vscode/out/vs/workbench/contrib/terminal/common/scripts /shellIntegration-bash.sh; \
169+ sed -i '1isource ~/.bashrc' /usr/lib/code-server/lib/vscode/out/vs/workbench/contrib/terminal/common/scripts /shellIntegration-bash.sh; \
170170 \
171171 `# Install Extensions`; \
172172 code-server --user-data-dir=/opt/code-server --install-extension ms-python.python; \
@@ -250,7 +250,7 @@ RUN set -eux; \
250250COPY motd.txt /etc/motd
251251COPY docker-entrypoint.sh supervisord.conf initialize-ide.py /
252252
253- ENV K9S_VERSION=v0.32.3 MINIKUBE_HOME=/minikube
253+ ENV K9S_VERSION=v0.50.9 MINIKUBE_HOME=/minikube
254254
255255RUN set -eux; \
256256 \
0 commit comments