spectraqual / Dockerfile
taarunforge's picture
Deploy SpectraQual OpenEnv environment
dfbb493
# ── Base image ───────────────────────────────────────────────────────────────
FROM python:3.11-slim
# ── Metadata ─────────────────────────────────────────────────────────────────
LABEL maintainer="SpectraQual Team"
LABEL description="SpectraQual β€” PCB Quality Control OpenEnv Environment"
LABEL version="1.0.0"
# ── System deps ───────────────────────────────────────────────────────────────
RUN apt-get update && apt-get install -y --no-install-recommends \
curl \
&& rm -rf /var/lib/apt/lists/*
# ── Working directory ─────────────────────────────────────────────────────────
WORKDIR /app
# ── Install Python dependencies first (layer cache) ──────────────────────────
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# ── Copy source code ──────────────────────────────────────────────────────────
COPY . .
# ── Environment variables (overridden at runtime) ─────────────────────────────
ENV API_BASE_URL="https://openrouter.ai/api/v1"
ENV MODEL_NAME="meta-llama/llama-3.3-70b-instruct"
ENV HF_TOKEN=""
# ── Expose API port (HF Spaces default) ───────────────────────────────────────
EXPOSE 7860
# ── Health check ──────────────────────────────────────────────────────────────
HEALTHCHECK --interval=30s --timeout=10s --start-period=15s --retries=3 \
CMD curl -f http://localhost:7860/ || exit 1
# ── Default command: launch FastAPI server ───────────────────────────────
CMD ["uvicorn", "src.api:app", "--host", "0.0.0.0", "--port", "7860"]