Init Commit
This commit is contained in:
commit
ce5abcc217
19 changed files with 2526 additions and 0 deletions
53
.devcontainer/Dockerfile.dev
Normal file
53
.devcontainer/Dockerfile.dev
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
# Development Dockerfile for GeoGuessr MCP Server
|
||||
FROM python:3.13-slim
|
||||
|
||||
# Prevent Python from writing pyc files and buffering stdout/stderr
|
||||
ENV PYTHONDONTWRITEBYTECODE=1
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
|
||||
# Install system dependencies
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
curl \
|
||||
git \
|
||||
ssh \
|
||||
sudo \
|
||||
vim \
|
||||
nano \
|
||||
htop \
|
||||
procps \
|
||||
net-tools \
|
||||
iputils-ping \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Create non-root user for development
|
||||
ARG USERNAME=vscode
|
||||
ARG USER_UID=1000
|
||||
ARG USER_GID=$USER_UID
|
||||
RUN groupadd --gid $USER_GID $USERNAME \
|
||||
&& useradd --uid $USER_UID --gid $USER_GID -m $USERNAME \
|
||||
&& echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \
|
||||
&& chmod 0440 /etc/sudoers.d/$USERNAME
|
||||
|
||||
# Install uv for fast package management
|
||||
RUN pip install --no-cache-dir uv
|
||||
|
||||
# Set up workspace
|
||||
WORKDIR /workspace
|
||||
|
||||
# Copy pyproject.toml and poetry.lock (or similar) first for layer caching
|
||||
COPY pyproject.toml README.md ./
|
||||
|
||||
# Install project and dev dependencies using uv
|
||||
RUN uv pip install --system --no-cache --upgrade pip && \
|
||||
uv pip install --system --no-cache -e ".[dev]"
|
||||
|
||||
COPY . .
|
||||
|
||||
# Switch to non-root user
|
||||
USER $USERNAME
|
||||
|
||||
# Set Python path
|
||||
ENV PYTHONPATH=/workspace
|
||||
|
||||
# Default command
|
||||
CMD ["sleep", "infinity"]
|
||||
Loading…
Add table
Add a link
Reference in a new issue