# syntax=docker/dockerfile:1.4 FROM python:3.11-slim # Enable use of SSH agent/socket # This line enables SSH during build # (don't forget the syntax header above) RUN apt-get update && apt-get install -y git openssh-client && rm -rf /var/lib/apt/lists/* # Use build-time SSH mount for Git clone # The SSH key will NOT remain in the image # IMPORTANT: this block requires BuildKit # and the --ssh flag during docker build # SSH config to skip host key check (safe in CI/local dev) RUN mkdir -p /root/.ssh && echo "StrictHostKeyChecking no" > /root/.ssh/config WORKDIR /app # Clone using SSH ARG GIT_REPO ARG GIT_BRANCH=main # Mount SSH key just for this RUN RUN --mount=type=ssh git clone --branch ${GIT_BRANCH} ${GIT_REPO} . # Install requirements if exists RUN if [ -f requirements.txt ]; then pip install --no-cache-dir -r requirements.txt; fi CMD ["python", "server.py"]