FROM python:3.12-slim # Docker CLI + compose plugin are required for lifecycle commands. RUN apt-get update \ && apt-get install -y --no-install-recommends ca-certificates curl gnupg \ && install -m 0755 -d /etc/apt/keyrings \ && curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc \ && chmod a+r /etc/apt/keyrings/docker.asc \ && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo $VERSION_CODENAME) stable" > /etc/apt/sources.list.d/docker.list \ && apt-get update \ && apt-get install -y --no-install-recommends docker-ce-cli docker-compose-plugin \ && rm -rf /var/lib/apt/lists/* WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY . . ENV STACKS_DIR=/opt/stacks \ DATA_DIR=/data \ PORT=5008 EXPOSE 5008 HEALTHCHECK --interval=30s --timeout=5s --start-period=10s \ CMD curl -fsS http://localhost:5008/api/health || exit 1 CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "5008"]