FROM codercom/code-server:latest

USER root

# Set environment variables
ENV DEFAULT_WORKSPACE=/workspace
ENV DOCKER_USER=code

# Define persistent volumes for /home and /workspace
VOLUME ["/home", "/workspace"]

# Install development tools with optimization for minimal package installs
RUN apt-get update && \
    apt-get install -y --no-install-recommends \
        git \
        curl \
        wget \
        vim \
        zsh \
        tmux \
        htop \
        tree \
        jq \
        unzip \
        zip \
        gcc \
        g++ \
        make \
        cmake \
        python3 \
        python3-pip \
        python3-venv && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

## Workaround as above somehow removed the entrypoint.sh
RUN curl -o /usr/bin/entrypoint.sh https://raw.githubusercontent.com/coder/code-server/main/ci/release-image/entrypoint.sh && \
    chmod +x /usr/bin/entrypoint.sh
    
ENTRYPOINT ["/usr/bin/entrypoint.sh", "--bind-addr", "0.0.0.0:8080", "/workspace"]