Skip to content

Commit 667e544

Browse files
Switch Claude Desktop to official APT repo and bump tool versions
Claude Desktop now installs from the official Anthropic APT repo (downloads.claude.ai) instead of the community aaddrick repo, which had been redirecting HTTPS->HTTP and breaking apt. The source list is kept so workspaces get updates via apt upgrade. Dropped the --no-sandbox wrapper (redundant with the global ELECTRON_DISABLE_SANDBOX/COWORK_VM_BACKEND env vars) and updated the desktop shortcut to com.anthropic.Claude.desktop (the official package's .desktop name). Version bumps across images: - Blender 3.6.23 -> 4.5.11 LTS (release dir now derived from version) - OrcaSlicer 2.3.1 -> 2.4.2 - AppImagePool 5.0.0 -> 5.1.0 - Node.js 22 -> 24 - Android Studio 2025.3.2 -> 2026.1.1.8, JetBrains Toolbox 3.1.2 -> 3.6.1, Gradle 9.3.1 -> 9.6.1 - nvidia-utils fallback 535/530/525 -> 580/570/565 (the old chain no longer exists in Ubuntu 24.04, so GPU workspaces were left without nvidia-smi) Docs updated to reflect Node 24. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent d25b4c8 commit 667e544

7 files changed

Lines changed: 59 additions & 63 deletions

File tree

AGENTS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ Lee esto antes de tocar plantillas o imágenes. Para notas privadas, usa `AGENTS
1010
- Ejemplo de Watchtower: `watchtower/README.md`
1111

1212
## Imágenes base
13-
- `ghcr.io/makespacemadrid/coder-mks-developer:latest` (Docker-Images/Developer/Dockerfile): escritorio XFCE/KasmVNC, Docker Engine, Node.js 22, CLIs de IA (Codex, Claude, Gemini), VS Code, GitHub Desktop, Claude Desktop, AppImage Pool, audio (PulseAudio/ALSA), Geany y tooling dev (Docker, gh, etc.).
13+
- `ghcr.io/makespacemadrid/coder-mks-developer:latest` (Docker-Images/Developer/Dockerfile): escritorio XFCE/KasmVNC, Docker Engine, Node.js 24, CLIs de IA (Codex, Claude, Gemini), VS Code, GitHub Desktop, Claude Desktop, AppImage Pool, audio (PulseAudio/ALSA), Geany y tooling dev (Docker, gh, etc.).
1414
- `ghcr.io/makespacemadrid/coder-mks-design:latest` (Docker-Images/Designer/Dockerfile): stack de diseño 2D/3D y electrónica (Inkscape, GIMP, Krita, Blender, FreeCAD, OpenSCAD, PrusaSlicer, OrcaSlicer, MeshLab, LibreCAD, KiCad, Fritzing, SimulIDE, LaserGRBL via Wine) + AppImage Pool y Geany.
1515

1616
## Templates Coder
1717
- `Developer` (DinD): workspace general con Docker-in-Docker y GPUs opcionales; volúmenes persistentes `/home/coder` y `/var/lib/docker`; red bridge. Escritorio XFCE/KasmVNC.
1818
- `AdvancedHostDANGER`: **DANGER** acceso directo a Docker y red del host. Usa `Developer` si no necesitas tocar el host. Escritorio XFCE/KasmVNC.
19-
- `DeveloperAndroid`: escritorio KDE/KasmVNC con toolchain Android (SDK/CLI), Node 22 y VS Code base.
19+
- `DeveloperAndroid`: escritorio KDE/KasmVNC con toolchain Android (SDK/CLI), Node 24 y VS Code base.
2020
- `Maker`: escritorio KDE/KasmVNC con herramientas de diseño/CAD/EDA; GPUs opcionales; home persistente; módulos Filebrowser/OpenCode. RDP aplica solo a workspaces Windows según [la guía de Coder](https://coder.com/docs/user-guides/workspace-access/remote-desktops).
2121
- `Minimal`: sin escritorio; code-server + Docker-in-Docker ligeros.
2222
- `OpenClaw`: template inicial para agentes/OpenClaw con escritorio XFCE/KasmVNC, Chrome, code-server + DinD y arranque configurable (`[OpenClaw] Auto-iniciar servicio`, puerto, directorio y comando).

Docker-Images/Designer/Dockerfile

Lines changed: 20 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ RUN apt-get update && \
9696
# OrcaSlicer (AppImage), LaserGRBL (Wine), OpenCode Desktop y VisiCut (.deb)
9797
RUN <<'EOSH'
9898
set -e
99-
ORCA_VERSION="2.3.1"
99+
ORCA_VERSION="2.4.2"
100100
OPENCODE_DESKTOP_URL="https://opencode.ai/es/download/stable/linux-x64-deb"
101101
# Prefer the Ubuntu 22.04 build to avoid newer WebKit (libwebkit2gtk-4.1) requirement,
102102
# but keep fallbacks so future tags still resolve.
@@ -134,37 +134,32 @@ EOSH
134134

135135
ENV COWORK_VM_BACKEND=host
136136

137-
# Claude Desktop (.deb repo comunitario) + wrapper no-sandbox para Electron
137+
# Claude Desktop desde el repo APT oficial de Anthropic (downloads.claude.ai).
138+
# Se mantiene el source list para recibir actualizaciones vía `apt upgrade`.
139+
# No hace falta wrapper --no-sandbox: ELECTRON_DISABLE_SANDBOX/OZONE (ENV globales)
140+
# y COWORK_VM_BACKEND=host bastan; el .desktop oficial hace `Exec=claude-desktop`.
138141
RUN <<'EOSH'
139142
set -e
140-
if curl -fsSL https://aaddrick.github.io/claude-desktop-debian/KEY.gpg | gpg --dearmor -o /usr/share/keyrings/claude-desktop.gpg; then
141-
echo "deb [signed-by=/usr/share/keyrings/claude-desktop.gpg arch=amd64,arm64] https://aaddrick.github.io/claude-desktop-debian stable main" > /etc/apt/sources.list.d/claude-desktop.list
143+
if curl -fsSLo /usr/share/keyrings/claude-desktop-archive-keyring.asc https://downloads.claude.ai/claude-desktop/key.asc; then
144+
echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/claude-desktop-archive-keyring.asc] https://downloads.claude.ai/claude-desktop/apt/stable stable main" > /etc/apt/sources.list.d/claude-desktop.list
142145
if ! apt-get update || ! apt-get install -y --no-install-recommends claude-desktop; then
143-
echo "WARN: no se pudo instalar Claude Desktop desde el repo externo; se continua sin esa app" >&2
146+
echo "WARN: no se pudo instalar Claude Desktop desde el repo oficial; se continua sin esa app" >&2
144147
fi
145148
else
146149
echo "WARN: no se pudo descargar la key de Claude Desktop; se continua sin esa app" >&2
147150
fi
148-
rm -f /etc/apt/sources.list.d/claude-desktop.list /usr/share/keyrings/claude-desktop.gpg
149151
rm -rf /var/lib/apt/lists/*
150-
if [ -x /usr/share/claude-desktop/claude-desktop ] && [ -x /usr/bin/claude-desktop ]; then
151-
mv /usr/bin/claude-desktop /usr/bin/claude-desktop.real || true
152-
cat > /usr/bin/claude-desktop <<'EOFWRAP'
153-
#!/bin/sh
154-
exec env ELECTRON_DISABLE_SANDBOX=1 ELECTRON_OZONE_PLATFORM_HINT="${ELECTRON_OZONE_PLATFORM_HINT:-auto}" COWORK_VM_BACKEND="${COWORK_VM_BACKEND:-host}" \
155-
/usr/bin/claude-desktop.real "$@"
156-
EOFWRAP
157-
chmod +x /usr/bin/claude-desktop
158-
fi
159152
EOSH
160153

161-
# Blender 3.6 LTS (binario oficial)
162-
ARG BLENDER_VERSION=3.6.23
154+
# Blender 4.5 LTS (binario oficial)
155+
ARG BLENDER_VERSION=4.5.11
163156
RUN <<'EOSH'
164157
set -e
165158
BLENDER_DIR="/opt/blender"
166159
BLENDER_PKG="blender-${BLENDER_VERSION}-linux-x64"
167-
BLENDER_URL="https://download.blender.org/release/Blender3.6/${BLENDER_PKG}.tar.xz"
160+
# Directorio de release = serie mayor.menor (p.ej. 4.5.11 -> Blender4.5)
161+
BLENDER_SERIES="$(echo "${BLENDER_VERSION}" | cut -d. -f1-2)"
162+
BLENDER_URL="https://download.blender.org/release/Blender${BLENDER_SERIES}/${BLENDER_PKG}.tar.xz"
168163
mkdir -p /opt
169164
curl -fL "${BLENDER_URL}" -o /tmp/blender.tar.xz
170165
tar -xJf /tmp/blender.tar.xz -C /opt
@@ -207,17 +202,17 @@ ENV ELECTRON_DISABLE_SANDBOX=1 \
207202
# Utilidades NVIDIA para `nvidia-smi` cuando se habilitan GPUs
208203
RUN set -e; \
209204
apt-get update; \
210-
if ! apt-get install -y --no-install-recommends nvidia-utils-535; then \
211-
if ! apt-get install -y --no-install-recommends nvidia-utils-530; then \
212-
apt-get install -y --no-install-recommends nvidia-utils-525 || true; \
205+
if ! apt-get install -y --no-install-recommends nvidia-utils-580; then \
206+
if ! apt-get install -y --no-install-recommends nvidia-utils-570; then \
207+
apt-get install -y --no-install-recommends nvidia-utils-565 || true; \
213208
fi; \
214209
fi; \
215210
rm -rf /var/lib/apt/lists/*
216211

217-
# Node.js 22 LTS + CLIs de IA para trabajo con código
212+
# Node.js 24 LTS + CLIs de IA para trabajo con código
218213
RUN install -m 0755 -d /etc/apt/keyrings && \
219214
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \
220-
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" \
215+
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_24.x nodistro main" \
221216
| tee /etc/apt/sources.list.d/nodesource.list > /dev/null && \
222217
apt-get update && \
223218
apt-get install -y --no-install-recommends nodejs && \
@@ -251,7 +246,7 @@ RUN su - coder -c 'set -e; \
251246
mkdir -p /home/coder/.vscode-server/extensions'
252247

253248
# AppImage Pool (gestor de AppImages con actualizaciones e integración en menú)
254-
ARG APPIMAGEPOOL_VERSION=5.0.0
249+
ARG APPIMAGEPOOL_VERSION=5.1.0
255250
RUN <<'EOSH'
256251
set -e
257252
mkdir -p /opt/appimagepool
@@ -310,7 +305,7 @@ RUN update-desktop-database /usr/share/applications || true && \
310305

311306
# Crear accesos directos en Desktop para todas las aplicaciones
312307
RUN mkdir -p /etc/skel/Desktop && \
313-
for f in firefox.desktop org.freecadweb.FreeCAD.desktop org.inkscape.Inkscape.desktop gimp.desktop org.kde.krita.desktop org.kicad.kicad.desktop openscad.desktop PrusaSlicer.desktop librecad.desktop meshlab.desktop org.fritzing.Fritzing.desktop net.launchpad.code.simulide.desktop geany.desktop VisiCut.desktop orcaslicer.desktop appimagepool.desktop OpenCode.desktop claude-desktop.desktop; do \
308+
for f in firefox.desktop org.freecadweb.FreeCAD.desktop org.inkscape.Inkscape.desktop gimp.desktop org.kde.krita.desktop org.kicad.kicad.desktop openscad.desktop PrusaSlicer.desktop librecad.desktop meshlab.desktop org.fritzing.Fritzing.desktop net.launchpad.code.simulide.desktop geany.desktop VisiCut.desktop orcaslicer.desktop appimagepool.desktop OpenCode.desktop com.anthropic.Claude.desktop; do \
314309
src="/usr/share/applications/$f"; \
315310
if [ -f "$src" ]; then ln -sf "$src" "/etc/skel/Desktop/$f"; fi; \
316311
done && \

Docker-Images/Developer/Dockerfile

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -138,10 +138,10 @@ RUN install -m 0755 -d /etc/apt/keyrings && \
138138
apt-get install -y --no-install-recommends antigravity && \
139139
rm -rf /var/lib/apt/lists/*
140140

141-
# Node.js 22 LTS y las CLIs de IA para trabajo con código
141+
# Node.js 24 LTS y las CLIs de IA para trabajo con código
142142
RUN install -m 0755 -d /etc/apt/keyrings && \
143143
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \
144-
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" \
144+
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_24.x nodistro main" \
145145
| tee /etc/apt/sources.list.d/nodesource.list > /dev/null && \
146146
apt-get update && \
147147
apt-get install -y --no-install-recommends nodejs && \
@@ -169,14 +169,14 @@ RUN install -m 0755 -d /etc/apt/keyrings && \
169169
# Utilidades NVIDIA para poder usar `nvidia-smi` cuando hay GPUs
170170
RUN set -e; \
171171
apt-get update; \
172-
if ! apt-get install -y --no-install-recommends nvidia-utils-535; then \
173-
if ! apt-get install -y --no-install-recommends nvidia-utils-530; then \
174-
apt-get install -y --no-install-recommends nvidia-utils-525 || true; \
172+
if ! apt-get install -y --no-install-recommends nvidia-utils-580; then \
173+
if ! apt-get install -y --no-install-recommends nvidia-utils-570; then \
174+
apt-get install -y --no-install-recommends nvidia-utils-565 || true; \
175175
fi; \
176176
fi; \
177177
rm -rf /var/lib/apt/lists/*
178178

179-
# GitHub Desktop (shiftkey build), Claude Desktop (repo APT) y OpenCode Desktop
179+
# GitHub Desktop (shiftkey build) y OpenCode Desktop
180180
ARG GITHUB_DESKTOP_REPO=shiftkey/desktop
181181
ARG OPENCODE_DESKTOP_URL=https://opencode.ai/es/download/stable/linux-x64-deb
182182
RUN set -e; \
@@ -191,16 +191,24 @@ RUN set -e; \
191191
apt-get update && \
192192
apt-get install -y --no-install-recommends gnome-keyring libwebkit2gtk-4.1-0 && \
193193
apt-get install -y --no-install-recommends /tmp/github-desktop.deb /tmp/opencode-desktop.deb; \
194-
if curl -fsSL https://aaddrick.github.io/claude-desktop-debian/KEY.gpg | gpg --dearmor -o /usr/share/keyrings/claude-desktop.gpg; then \
195-
echo "deb [signed-by=/usr/share/keyrings/claude-desktop.gpg arch=amd64,arm64] https://aaddrick.github.io/claude-desktop-debian stable main" > /etc/apt/sources.list.d/claude-desktop.list; \
194+
rm -rf /var/lib/apt/lists/* /tmp/github-desktop.deb /tmp/opencode-desktop.deb
195+
196+
# Claude Desktop desde el repo APT oficial de Anthropic (downloads.claude.ai).
197+
# Se mantiene el source list para recibir actualizaciones vía `apt upgrade`.
198+
# No hace falta wrapper --no-sandbox: ELECTRON_DISABLE_SANDBOX / OZONE / COWORK_VM_BACKEND
199+
# se fijan como ENV globales más abajo, y el .desktop oficial hace `Exec=claude-desktop`.
200+
# El fallo no es fatal para no romper el build si el repo no está disponible.
201+
RUN set -e; \
202+
if curl -fsSLo /usr/share/keyrings/claude-desktop-archive-keyring.asc https://downloads.claude.ai/claude-desktop/key.asc; then \
203+
echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/claude-desktop-archive-keyring.asc] https://downloads.claude.ai/claude-desktop/apt/stable stable main" \
204+
> /etc/apt/sources.list.d/claude-desktop.list; \
196205
if ! apt-get update || ! apt-get install -y --no-install-recommends claude-desktop; then \
197-
echo "WARN: no se pudo instalar Claude Desktop desde el repo externo; se continua sin esa app" >&2; \
206+
echo "WARN: no se pudo instalar Claude Desktop desde el repo oficial; se continua sin esa app" >&2; \
198207
fi; \
199208
else \
200209
echo "WARN: no se pudo descargar la key de Claude Desktop; se continua sin esa app" >&2; \
201210
fi; \
202-
rm -f /etc/apt/sources.list.d/claude-desktop.list /usr/share/keyrings/claude-desktop.gpg; \
203-
rm -rf /var/lib/apt/lists/* /tmp/github-desktop.deb /tmp/opencode-desktop.deb
211+
rm -rf /var/lib/apt/lists/*
204212

205213
# Electron apps dentro de contenedores Docker necesitan desactivar el sandbox
206214
# (no hay user namespaces). Los wrappers añaden --no-sandbox y pistas de Ozone.
@@ -223,15 +231,8 @@ SHWRAP
223231
}
224232
TARGET_BIN=/usr/lib/github-desktop/github-desktop EXTRA_FLAGS="--password-store=basic" wrap /usr/bin/github-desktop /usr/lib/github-desktop/github-desktop
225233
TARGET_BIN=/usr/share/code/bin/code EXTRA_FLAGS="" wrap /usr/bin/code /usr/share/code/bin/code
226-
if [ -x /usr/bin/claude-desktop ]; then
227-
mv /usr/bin/claude-desktop /usr/bin/claude-desktop.real || true
228-
cat > /usr/bin/claude-desktop <<'EOFWRAP'
229-
#!/bin/sh
230-
exec env ELECTRON_DISABLE_SANDBOX=1 ELECTRON_OZONE_PLATFORM_HINT="${ELECTRON_OZONE_PLATFORM_HINT:-auto}" COWORK_VM_BACKEND="${COWORK_VM_BACKEND:-host}" \
231-
/usr/bin/claude-desktop.real "$@"
232-
EOFWRAP
233-
chmod +x /usr/bin/claude-desktop
234-
fi
234+
# Claude Desktop (paquete oficial) no necesita wrapper: el sandbox se desactiva vía
235+
# ELECTRON_DISABLE_SANDBOX=1 (ENV global) y COWORK_VM_BACKEND=host evita bwrap/qemu.
235236
# Google Chrome (no es Electron pero también necesita --no-sandbox en Docker)
236237
if [ -x /opt/google/chrome/google-chrome ]; then
237238
mv /usr/bin/google-chrome-stable /usr/bin/google-chrome-stable.real 2>/dev/null || true
@@ -267,7 +268,7 @@ RUN su - coder -c 'set -e; \
267268
mkdir -p /home/coder/.vscode-server/extensions'
268269

269270
# AppImage Pool (gestor de AppImages con actualizaciones e integración en menú)
270-
ARG APPIMAGEPOOL_VERSION=5.0.0
271+
ARG APPIMAGEPOOL_VERSION=5.1.0
271272
RUN <<'EOSH'
272273
set -e
273274
mkdir -p /opt/appimagepool
@@ -319,7 +320,7 @@ RUN update-desktop-database /usr/share/applications || true && \
319320
# Accesos directos en el escritorio por defecto
320321
RUN set -e; \
321322
mkdir -p /etc/skel/Desktop && \
322-
for f in code.desktop github-desktop.desktop claude-desktop.desktop OpenCode.desktop firefox.desktop geany.desktop appimagepool.desktop; do \
323+
for f in code.desktop github-desktop.desktop com.anthropic.Claude.desktop OpenCode.desktop firefox.desktop geany.desktop appimagepool.desktop; do \
323324
src="/usr/share/applications/$f"; \
324325
if [ -f "$src" ]; then ln -sf "$src" "/etc/skel/Desktop/$f"; fi; \
325326
done; \

Docker-Images/DeveloperAndroid/Dockerfile

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
FROM ghcr.io/makespacemadrid/coder-mks-desktop-kde:latest
33

44
LABEL org.opencontainers.image.title="coder-mks-developer-android" \
5-
org.opencontainers.image.description="Coder Desktop KDE con toolchain Android (SDK/CLI), Node 22 y VS Code" \
5+
org.opencontainers.image.description="Coder Desktop KDE con toolchain Android (SDK/CLI), Node 24 y VS Code" \
66
org.opencontainers.image.source="https://github.com/makespacemadrid/coder-workspaces" \
77
org.opencontainers.image.url="ghcr.io/makespacemadrid/coder-mks-developer-android:latest" \
88
com.centurylinklabs.watchtower.enable="true" \
@@ -106,10 +106,10 @@ RUN if [ -x /usr/bin/startplasma-x11 ] && [ ! -x /usr/bin/startkde ]; then \
106106
# Disable KDE screen locker/screensaver
107107
RUN printf '[Daemon]\nTimeout=0\nLockOnResume=false\nLockOnSuspend=false\nAutolock=false\n' > /etc/xdg/kscreenlockerrc
108108

109-
# Node.js 22 LTS + package managers (para React Native/JS tooling)
109+
# Node.js 24 LTS + package managers (para React Native/JS tooling)
110110
RUN install -m 0755 -d /etc/apt/keyrings && \
111111
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \
112-
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" \
112+
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_24.x nodistro main" \
113113
| tee /etc/apt/sources.list.d/nodesource.list > /dev/null && \
114114
apt-get update && \
115115
apt-get install -y --no-install-recommends nodejs && \
@@ -147,7 +147,7 @@ ENV ANDROID_HOME=/home/coder/Android/Sdk \
147147
ANDROID_SDK_ROOT=/home/coder/Android/Sdk \
148148
ANDROID_EMULATOR_DEFAULT_GPU=swiftshader \
149149
ANDROID_USER_HOME=/home/coder/.android \
150-
PATH=$PATH:/home/coder/Android/Sdk/platform-tools:/home/coder/Android/Sdk/cmdline-tools/latest/bin:/home/coder/Android/Sdk/emulator:/opt/gradle/gradle-9.3.1/bin
150+
PATH=$PATH:/home/coder/Android/Sdk/platform-tools:/home/coder/Android/Sdk/cmdline-tools/latest/bin:/home/coder/Android/Sdk/emulator:/opt/gradle/gradle-9.6.1/bin
151151

152152
ARG ANDROID_SDK_VERSION=14742923
153153
RUN mkdir -p /home/coder/Android/Sdk/cmdline-tools && \
@@ -177,9 +177,9 @@ RUN mkdir -p /home/coder/Android/Sdk/cmdline-tools && \
177177
install -d -o coder -g coder /home/coder/.android
178178

179179
# Android Studio
180-
ARG ANDROID_STUDIO_VERSION=2025.3.2
181-
ARG ANDROID_STUDIO_BUILD=2025.3.2.6
182-
ARG ANDROID_STUDIO_PACKAGE=android-studio-panda2-linux.tar.gz
180+
ARG ANDROID_STUDIO_VERSION=2026.1.1
181+
ARG ANDROID_STUDIO_BUILD=2026.1.1.8
182+
ARG ANDROID_STUDIO_PACKAGE=android-studio-quail1-linux.tar.gz
183183
RUN curl -fsSL "https://redirector.gvt1.com/edgedl/android/studio/ide-zips/${ANDROID_STUDIO_BUILD}/${ANDROID_STUDIO_PACKAGE}" -o /tmp/android-studio.tar.gz && \
184184
tar -xzf /tmp/android-studio.tar.gz -C /opt && \
185185
rm /tmp/android-studio.tar.gz && \
@@ -188,7 +188,7 @@ RUN curl -fsSL "https://redirector.gvt1.com/edgedl/android/studio/ide-zips/${AND
188188
ln -sf /opt/android-studio/bin/studio /usr/local/bin/studio
189189

190190
# JetBrains Toolbox (para JetBrains Gateway/IDE remotos)
191-
ARG JETBRAINS_TOOLBOX_VERSION=3.1.2.64642
191+
ARG JETBRAINS_TOOLBOX_VERSION=3.6.1.85592
192192
RUN curl -fsSL "https://download.jetbrains.com/toolbox/jetbrains-toolbox-${JETBRAINS_TOOLBOX_VERSION}.tar.gz" -o /tmp/jetbrains-toolbox.tar.gz && \
193193
mkdir -p /opt/jetbrains-toolbox && \
194194
tar -xzf /tmp/jetbrains-toolbox.tar.gz -C /opt/jetbrains-toolbox --strip-components=1 && \
@@ -216,7 +216,7 @@ RUN chmod +x /usr/share/applications/android-studio.desktop && \
216216
done
217217

218218
# Gradle
219-
RUN curl -fsSL "https://services.gradle.org/distributions/gradle-9.3.1-bin.zip" -o /tmp/gradle.zip && \
219+
RUN curl -fsSL "https://services.gradle.org/distributions/gradle-9.6.1-bin.zip" -o /tmp/gradle.zip && \
220220
unzip -q /tmp/gradle.zip -d /opt/gradle && \
221221
rm /tmp/gradle.zip
222222

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
Imágenes Docker y templates de Coder para workspaces de desarrollo y diseño en MakeSpace Madrid.
44

55
## Imágenes
6-
- `ghcr.io/makespacemadrid/coder-mks-developer:latest` (Docker-Images/Developer): escritorio XFCE/KasmVNC, Docker, Node.js 22, CLIs de IA (Codex, Claude, Gemini, Continue, Qwen), VS Code, GitHub Desktop, Claude Desktop, OpenCode Desktop, AppImage Pool, Geany y audio (PulseAudio/ALSA).
7-
- `ghcr.io/makespacemadrid/coder-mks-developer-android:latest` (Docker-Images/DeveloperAndroid): escritorio KDE/KasmVNC, toolchain Android (SDK/CLI), Node.js 22, VS Code, OpenCode Desktop, JetBrains Toolbox y utilidades Android (adb/scrcpy).
6+
- `ghcr.io/makespacemadrid/coder-mks-developer:latest` (Docker-Images/Developer): escritorio XFCE/KasmVNC, Docker, Node.js 24, CLIs de IA (Codex, Claude, Gemini, Continue, Qwen), VS Code, GitHub Desktop, Claude Desktop, OpenCode Desktop, AppImage Pool, Geany y audio (PulseAudio/ALSA).
7+
- `ghcr.io/makespacemadrid/coder-mks-developer-android:latest` (Docker-Images/DeveloperAndroid): escritorio KDE/KasmVNC, toolchain Android (SDK/CLI), Node.js 24, VS Code, OpenCode Desktop, JetBrains Toolbox y utilidades Android (adb/scrcpy).
88
- `ghcr.io/makespacemadrid/coder-mks-design:latest` (Docker-Images/Designer): suite de diseño 2D/3D y electrónica (Inkscape, GIMP, Krita, Blender, FreeCAD, OpenSCAD, PrusaSlicer, MeshLab, LibreCAD, KiCad, Fritzing, SimulIDE, LaserGRBL via Wine), OpenCode Desktop, ImageMagick, FFmpeg, ExifTool, Pandoc, FontForge, AppImage Pool y Geany.
99

1010
Build local:

0 commit comments

Comments
 (0)