AgentIC / Dockerfile
vxkyyy's picture
fix: default strict_gates=False for cloud, create PDK_ROOT dir in container
2c0217a
FROM python:3.11-slim
# Install system dependencies and EDA tools
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
cmake \
git \
curl \
libboost-dev \
zlib1g-dev \
libfftw3-dev \
libreadline-dev \
tcl-dev \
pkg-config \
verilator \
iverilog \
yosys \
&& rm -rf /var/lib/apt/lists/*
# Install SymbiYosys (try pip first, fall back to source)
RUN pip install --no-cache-dir symbiyosys 2>/dev/null || \
(git clone --depth 1 https://github.com/YosysHQ/sby /tmp/sby \
&& cd /tmp/sby && make install && rm -rf /tmp/sby) || true
WORKDIR /app
# Ensure module resolution works from /app
ENV PYTHONPATH=/app
# Install Python dependencies first (layer cache)
COPY requirements.txt .
RUN pip install --no-cache-dir --upgrade pip && \
pip install --no-cache-dir uvicorn[standard] fastapi && \
pip install --no-cache-dir -r requirements.txt
# Copy application code
COPY . .
# Create runtime directories that the build pipeline writes into
# PDK_ROOT must exist so startup_self_check passes (actual PDK files not needed for cloud LLM builds)
RUN mkdir -p /app/designs /app/artifacts /app/pdk
ENV PDK_ROOT=/app/pdk
# HuggingFace Spaces runs as non-root user 1000
RUN useradd -m -u 1000 appuser && chown -R appuser:appuser /app
USER appuser
EXPOSE 7860
CMD ["uvicorn", "server.api:app", "--host", "0.0.0.0", "--port", "7860"]