Files
AIPass/Dockerfile
T
AIOSAI 34f303f285 📦 build(docker): update base image setup and workspace initialization
- replace git and curl with python3-full package for dependencies
- create python virtualenv owned by user 1000 for permission consistency
- add entrypoint scripts in /etc/entrypoint.d to avoid shadowing by bind mounts
- override ENTRYPOINTD environment variable to use non-shadowed entrypoint scripts
- switch to user 1000 instead of coder user for container runtime
- use official base image entrypoint with fixuid and dumb-init for process management
- set default code-server workspace to /home/coder/workspace for consistency

📝 docs(readme): overhaul README to reflect current state and usage

- simplify introduction with focus on core AIPass features and status
- update quick start instructions for source install and basic commands
- add Docker usage example for isolated testing with VS Code
- provide core concepts for drone command router and seedgo standards
- rewrite seedgo plugin example and built-in plugin list with formatting
- remove old API examples and deprecated instructions
- add module architecture and status table for all 10 modules
- clarify configuration and environment variable usage
- update requirements and license sections for clarity

📦 build(scripts): add setup-workspace.sh for container initialization

- script ensures workspace directory is writable by coder user
- clones AIPass repo if not already present in workspace
- installs AIPass in editable mode to keep dependencies up to date
- designed to run as container entrypoint.d script for first boot setup
2026-03-06 01:16:41 -08:00

38 lines
1.2 KiB
Docker

FROM codercom/code-server:latest
USER root
# Install Python + Node.js (for Claude Code)
RUN apt-get update && apt-get install -y \
python3 \
python3-pip \
python3-venv \
python3-full \
&& curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
&& apt-get install -y nodejs \
&& rm -rf /var/lib/apt/lists/*
# Install Claude Code globally
RUN npm install -g @anthropic-ai/claude-code
# Create venv owned by coder user (UID 1000)
RUN python3 -m venv /opt/venv \
&& chown -R 1000:1000 /opt/venv
ENV PATH="/opt/venv/bin:$PATH"
# Startup script in /etc so it's NOT shadowed by /home/coder bind mount
RUN mkdir -p /etc/entrypoint.d
COPY setup-workspace.sh /etc/entrypoint.d/setup-workspace.sh
RUN chmod +x /etc/entrypoint.d/setup-workspace.sh
# Override ENTRYPOINTD to our non-shadowed location
ENV ENTRYPOINTD=/etc/entrypoint.d
USER 1000
ENV PATH="/opt/venv/bin:$PATH"
EXPOSE 8080
# Use the official entrypoint (already in the base image at /usr/bin/entrypoint.sh)
# It runs fixuid -> entrypoint.d scripts -> dumb-init code-server
ENTRYPOINT ["/usr/bin/entrypoint.sh", "--bind-addr", "0.0.0.0:8080", "--auth", "none", "/home/coder/workspace"]