Compare commits

..

3 Commits

Author SHA1 Message Date
DevContainer User 70e74ab2d2 fix(init-repo): create $HOME before git config on fresh volumes
git config --global writes to $HOME/.gitconfig, but on a fresh PVC
$HOME (/config/userdata) doesn't exist yet. This causes the script to
fail with "could not lock config file" and exit due to set -e, leaving
the container in a crash loop with a black screen.

Move the mkdir -p $HOME + chown to the top of the script so it runs
before any git operations.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 16:47:30 +00:00
github-actions[bot] 673554b393 chore(release): 2.6.0 [skip ci] 2026-03-11 12:05:49 +00:00
DevContainer User 609752e7dc fix: use Eclipse snapshots API for jdtls download
The jdtls GitHub repo has no release assets and the Eclipse milestones
directory listing is JS-rendered. Use snapshots/latest.txt which provides
a reliable tarball filename for automated downloads.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 12:05:21 +00:00
3 changed files with 10 additions and 8 deletions
+2 -3
View File
@@ -161,10 +161,9 @@ RUN KLS_VERSION=$(curl -sL https://api.github.com/repos/fwcd/kotlin-language-ser
rm /tmp/kls.zip
# Install jdtls (Java LSP) — Eclipse JDT Language Server
RUN JDTLS_VERSION=$(curl -sL https://api.github.com/repos/eclipse-jdtls/eclipse.jdt.ls/releases/latest | jq -r '.tag_name' | sed 's/^v//') && \
JDTLS_URL=$(curl -sL https://api.github.com/repos/eclipse-jdtls/eclipse.jdt.ls/releases/latest | jq -r '.assets[] | select(.name | endswith(".tar.gz")) | .browser_download_url' | head -1) && \
RUN JDTLS_TARBALL=$(curl -sL https://download.eclipse.org/jdtls/snapshots/latest.txt) && \
mkdir -p /opt/jdtls && \
curl -fsSL "$JDTLS_URL" | tar -xz -C /opt/jdtls && \
curl -fsSL "https://download.eclipse.org/jdtls/snapshots/${JDTLS_TARBALL}" | tar -xz -C /opt/jdtls && \
printf '#!/bin/bash\nexec java -Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 -Declipse.product=org.eclipse.jdt.ls.core.product -jar /opt/jdtls/plugins/org.eclipse.equinox.launcher_*.jar -configuration /opt/jdtls/config_linux "$@"\n' > /usr/local/bin/jdtls && \
chmod +x /usr/local/bin/jdtls
+1 -1
View File
@@ -2,7 +2,7 @@ apiVersion: v2
name: devcontainer
description: Dev Container with AI coding agents and MCP sidecars
type: application
version: 2.5.0
version: 2.6.0
appVersion: "latest"
keywords:
- development
+7 -4
View File
@@ -4,6 +4,13 @@ set -e
echo "=== Repository Initialization ==="
# Ensure home directory exists on the PVC before any git operations
# (git config --global writes to $HOME/.gitconfig, which fails on a fresh volume)
RUN_UID="${USER_ID:-1000}"
RUN_GID="${GROUP_ID:-1000}"
mkdir -p "$HOME"
chown "$RUN_UID:$RUN_GID" "$HOME"
# Set up basic git configuration
echo "Configuring git user settings..."
# Use environment variables if provided, otherwise use defaults
@@ -142,10 +149,6 @@ if [ ${#REPOS[@]} -eq 0 ]; then
chown -R "$RUN_UID:$RUN_GID" "$WORKSPACE_DIR"
fi
# Ensure home directory exists on the PVC (may be absent on a fresh volume)
mkdir -p "$HOME"
chown "$RUN_UID:$RUN_GID" "$HOME"
# Seed Claude Code settings if missing (disable auto-updater in Docker)
if [ ! -f "$HOME/.claude/settings.json" ]; then
mkdir -p "$HOME/.claude"