FROM python:3.13-alpine # Install system dependencies RUN apk add --no-cache \ git \ curl \ wget \ bash \ build-base \ linux-headers \ fish # Install uv from official image COPY --from=ghcr.io/astral-sh/uv:latest /uv /bin/uv RUN uv --version # Create non-root user with fish shell RUN adduser -D -s /usr/bin/fish vscode # Create workspace and set permissions RUN mkdir -p /workspace && chown vscode:vscode /workspace USER vscode WORKDIR /workspace # Set fish as default shell SHELL ["/usr/bin/fish", "-c"] # Install packages directly to system Python (container-isolated) ENV UV_PROJECT_ENVIRONMENT="" ENV UV_PYTHON=python # Verify everything works RUN echo "Python: $(python --version)" && \ echo "UV: $(uv --version)" && \ echo "Fish: $(fish --version)"