# Dockerfile for Git Environment # Connects to an external shared Gitea service for task-based isolation # Optimized for fast resets and minimal resource usage # Use the standard openenv base image ARG BASE_IMAGE=ghcr.io/meta-pytorch/openenv-base:latest FROM ghcr.io/meta-pytorch/openenv-base:latest # Install git and curl (no Gitea binary needed - connects to external service) RUN apt-get update && apt-get install -y \ git \ curl \ ca-certificates \ && rm -rf /var/lib/apt/lists/* # Create workspace directory for git operations RUN mkdir -p /workspace && chmod 777 /workspace # Copy core and environment code COPY src/core/ /app/src/core/ COPY envs/git_env/ /app/envs/git_env/ # Environment variables for Gitea connection # These MUST be provided at runtime via -e flags or --env-file # See .env.example for required variables ENV WORKSPACE_DIR=/workspace # Health check HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \ CMD curl -f http://localhost:8000/health || exit 1 # Run the FastAPI server CMD ["uvicorn", "envs.git_env.server.app:app", "--host", "0.0.0.0", "--port", "8000"] ENV PYTHONPATH=/app/src/core:/app/src:${PYTHONPATH} ENV ENABLE_WEB_INTERFACE=true