4 Commits

Author SHA1 Message Date
Ryan Moon
199b9ab3b3 fix: install bun then move binary to /usr/local/bin
All checks were successful
Build Devpod / build (push) Successful in 2m10s
Build & Release / build (push) Successful in 17s
2026-04-04 11:38:06 -05:00
Ryan Moon
2b141d45f3 fix: bootstrap Claude Code on first boot since it installs to /root (PVC)
Some checks failed
Build Devpod / build (push) Failing after 6s
Build & Release / build (push) Successful in 16s
2026-04-04 11:31:51 -05:00
Ryan Moon
1c56023491 fix: install bun to /usr/local/bin so it persists when /root is PVC-mounted
Some checks failed
Build Devpod / build (push) Failing after 50s
Build & Release / build (push) Has been cancelled
2026-04-04 11:30:54 -05:00
Ryan Moon
93450a1eb7 feat: add nano, vim, htop, zip, netcat, dnsutils, ping to devpod
All checks were successful
Build Devpod / build (push) Successful in 3m9s
Build & Release / build (push) Successful in 16s
2026-04-04 10:47:20 -05:00
2 changed files with 15 additions and 9 deletions

View File

@@ -2,20 +2,21 @@ FROM ubuntu:24.04
ENV DEBIAN_FRONTEND=noninteractive
ENV HOME=/root
ENV PATH="/root/.bun/bin:$PATH"
ENV PATH="/usr/local/bin:/root/.bun/bin:$PATH"
# Base tools
RUN apt-get update && apt-get install -y --no-install-recommends \
curl wget git openssh-server ca-certificates gnupg \
build-essential unzip jq tmux zsh ripgrep \
build-essential unzip zip jq tmux zsh ripgrep \
postgresql-client redis-tools haproxy \
nano vim htop netcat-openbsd dnsutils iputils-ping \
&& rm -rf /var/lib/apt/lists/*
# Bun
RUN curl -fsSL https://bun.sh/install | bash
# Claude Code CLI
RUN curl -fsSL https://claude.ai/install.sh | bash
# Bun — install then move to /usr/local/bin so it's on the image filesystem, not the /root PVC
RUN curl -fsSL https://bun.sh/install | bash \
&& mv /root/.bun/bin/bun /usr/local/bin/bun \
&& ln -sf /usr/local/bin/bun /usr/local/bin/bunx \
&& rm -rf /root/.bun
# code-server (VS Code in browser)
RUN curl -fsSL https://code-server.dev/install.sh | sh

View File

@@ -16,7 +16,7 @@ fi
if [ ! -f /root/.bashrc ]; then
cp /etc/skel/.bashrc /root/.bashrc 2>/dev/null || true
cat >> /root/.bashrc <<'EOF'
export PATH="/root/.bun/bin:$PATH"
export PATH="/usr/local/bin:$PATH"
export HISTFILE=/root/.bash_history
export HISTSIZE=10000
EOF
@@ -24,7 +24,7 @@ fi
if [ ! -f /root/.profile ]; then
cat > /root/.profile <<'EOF'
export PATH="/root/.bun/bin:$PATH"
export PATH="/usr/local/bin:$PATH"
[ -f /root/.bashrc ] && . /root/.bashrc
EOF
fi
@@ -41,6 +41,11 @@ if [ ! -f /root/.gitconfig ]; then
EOF
fi
# Install Claude Code on first boot (installs to /root/.claude, persists on PVC)
if [ ! -f /root/.claude/bin/claude ]; then
curl -fsSL https://claude.ai/install.sh | bash
fi
# Allow root login via SSH key, listen on internal port 2222
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
echo "Port 2222" >> /etc/ssh/sshd_config