Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 32e87254d2 | |||
| d078bb1c44 | |||
| 56c648187a | |||
| 8870d60ccc | |||
| d54515244c | |||
| 2918cfde25 |
+5
-3
@@ -37,8 +37,8 @@ RUN curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - && \
|
|||||||
apt-get install -y nodejs && \
|
apt-get install -y nodejs && \
|
||||||
rm -rf /var/lib/apt/lists/*
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Install Happy Coder globally
|
# Install Happy Coder and Claude Code globally
|
||||||
RUN npm install -g happy-coder
|
RUN npm install -g happy-coder @anthropic-ai/claude-code
|
||||||
|
|
||||||
# Install Antigravity (Google's Project IDX / Cloud Code alternative)
|
# Install Antigravity (Google's Project IDX / Cloud Code alternative)
|
||||||
# Note: Antigravity might be packaged differently - adjust as needed
|
# Note: Antigravity might be packaged differently - adjust as needed
|
||||||
@@ -58,9 +58,11 @@ RUN groupadd -g 1000 user && \
|
|||||||
RUN mkdir -p /workspace && \
|
RUN mkdir -p /workspace && \
|
||||||
chown -R user:user /workspace
|
chown -R user:user /workspace
|
||||||
|
|
||||||
# Copy startup script
|
# Copy startup scripts
|
||||||
COPY --chmod=755 scripts/startapp.sh /startapp.sh
|
COPY --chmod=755 scripts/startapp.sh /startapp.sh
|
||||||
COPY --chmod=755 scripts/init-repo.sh /usr/local/bin/init-repo
|
COPY --chmod=755 scripts/init-repo.sh /usr/local/bin/init-repo
|
||||||
|
# Fix app user shell after baseimage-gui creates it at runtime
|
||||||
|
COPY --chmod=755 scripts/cont-init-user.sh /etc/cont-init.d/20-fix-user-shell.sh
|
||||||
|
|
||||||
# Set working directory
|
# Set working directory
|
||||||
WORKDIR /workspace
|
WORKDIR /workspace
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Fix the app user (UID 1000) created by baseimage-gui at runtime.
|
||||||
|
# baseimage-gui sets shell=/sbin/nologin and home=/dev/null, which
|
||||||
|
# prevents VSCode from opening terminals.
|
||||||
|
usermod -s /bin/bash app
|
||||||
|
usermod -d /home/user app
|
||||||
@@ -59,11 +59,13 @@ chown -R "$RUN_UID:$RUN_GID" "$WORKSPACE_DIR"
|
|||||||
mkdir -p "$HOME"
|
mkdir -p "$HOME"
|
||||||
chown "$RUN_UID:$RUN_GID" "$HOME"
|
chown "$RUN_UID:$RUN_GID" "$HOME"
|
||||||
|
|
||||||
# Start Happy Coder daemon
|
# Start Happy Coder daemon as the app user so it can access user credentials
|
||||||
|
# (running as root means HOME=/root, Claude Code and Happy config would be missing)
|
||||||
echo "Starting Happy Coder..."
|
echo "Starting Happy Coder..."
|
||||||
cd "$WORKSPACE_DIR"
|
|
||||||
|
|
||||||
happy daemon start || echo "Happy Coder daemon failed to start, continuing anyway..."
|
RUN_USER=$(id -nu "$RUN_UID" 2>/dev/null || echo "user")
|
||||||
|
sudo -u "$RUN_USER" -E sh -c "cd '$WORKSPACE_DIR' && happy daemon start" \
|
||||||
|
|| echo "Happy Coder daemon failed to start, continuing anyway..."
|
||||||
|
|
||||||
echo "Happy Coder daemon started"
|
echo "Happy Coder daemon started"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user