Compare commits
4 Commits
feature/po
...
199b9ab3b3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
199b9ab3b3 | ||
|
|
2b141d45f3 | ||
|
|
1c56023491 | ||
|
|
93450a1eb7 |
@@ -2,20 +2,21 @@ FROM ubuntu:24.04
|
|||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
ENV HOME=/root
|
ENV HOME=/root
|
||||||
ENV PATH="/root/.bun/bin:$PATH"
|
ENV PATH="/usr/local/bin:/root/.bun/bin:$PATH"
|
||||||
|
|
||||||
# Base tools
|
# Base tools
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
curl wget git openssh-server ca-certificates gnupg \
|
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 \
|
postgresql-client redis-tools haproxy \
|
||||||
|
nano vim htop netcat-openbsd dnsutils iputils-ping \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Bun
|
# 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
|
RUN curl -fsSL https://bun.sh/install | bash \
|
||||||
|
&& mv /root/.bun/bin/bun /usr/local/bin/bun \
|
||||||
# Claude Code CLI
|
&& ln -sf /usr/local/bin/bun /usr/local/bin/bunx \
|
||||||
RUN curl -fsSL https://claude.ai/install.sh | bash
|
&& rm -rf /root/.bun
|
||||||
|
|
||||||
# code-server (VS Code in browser)
|
# code-server (VS Code in browser)
|
||||||
RUN curl -fsSL https://code-server.dev/install.sh | sh
|
RUN curl -fsSL https://code-server.dev/install.sh | sh
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ fi
|
|||||||
if [ ! -f /root/.bashrc ]; then
|
if [ ! -f /root/.bashrc ]; then
|
||||||
cp /etc/skel/.bashrc /root/.bashrc 2>/dev/null || true
|
cp /etc/skel/.bashrc /root/.bashrc 2>/dev/null || true
|
||||||
cat >> /root/.bashrc <<'EOF'
|
cat >> /root/.bashrc <<'EOF'
|
||||||
export PATH="/root/.bun/bin:$PATH"
|
export PATH="/usr/local/bin:$PATH"
|
||||||
export HISTFILE=/root/.bash_history
|
export HISTFILE=/root/.bash_history
|
||||||
export HISTSIZE=10000
|
export HISTSIZE=10000
|
||||||
EOF
|
EOF
|
||||||
@@ -24,7 +24,7 @@ fi
|
|||||||
|
|
||||||
if [ ! -f /root/.profile ]; then
|
if [ ! -f /root/.profile ]; then
|
||||||
cat > /root/.profile <<'EOF'
|
cat > /root/.profile <<'EOF'
|
||||||
export PATH="/root/.bun/bin:$PATH"
|
export PATH="/usr/local/bin:$PATH"
|
||||||
[ -f /root/.bashrc ] && . /root/.bashrc
|
[ -f /root/.bashrc ] && . /root/.bashrc
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
@@ -41,6 +41,11 @@ if [ ! -f /root/.gitconfig ]; then
|
|||||||
EOF
|
EOF
|
||||||
fi
|
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
|
# Allow root login via SSH key, listen on internal port 2222
|
||||||
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
|
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
|
||||||
echo "Port 2222" >> /etc/ssh/sshd_config
|
echo "Port 2222" >> /etc/ssh/sshd_config
|
||||||
|
|||||||
Reference in New Issue
Block a user