HR-Assistant / Dockerfile
owenkaplinsky's picture
Update Dockerfile (#6)
e05ba4e verified
FROM python:3.12-slim
WORKDIR /app
# System dependencies (include Postgres server so DB can run in-container)
RUN apt-get update && apt-get install -y gcc libpq-dev postgresql postgresql-contrib gosu && rm -rf /var/lib/apt/lists/*
# Copy requirement files
COPY requirements/base.txt requirements/base.txt
COPY requirements/db.txt requirements/db.txt
COPY requirements/agent.txt requirements/agent.txt
COPY requirements/supervisor.txt requirements/supervisor.txt
COPY requirements/api.txt requirements/api.txt
COPY requirements/cv_ui.txt requirements/cv_ui.txt
COPY requirements/mcp_calendar.txt requirements/mcp_calendar.txt
COPY requirements/mcp_gmail.txt requirements/mcp_gmail.txt
COPY src/frontend/gradio/requirements.txt requirements/gradio.txt
# Install Python dependencies
RUN pip install --no-cache-dir uv && \
pip install --no-cache-dir -r requirements/base.txt \
&& pip install --no-cache-dir -r requirements/db.txt \
&& pip install --no-cache-dir -r requirements/agent.txt \
&& pip install --no-cache-dir -r requirements/supervisor.txt \
&& pip install --no-cache-dir -r requirements/api.txt \
&& pip install --no-cache-dir -r requirements/cv_ui.txt \
&& pip install --no-cache-dir -r requirements/mcp_calendar.txt \
&& pip install --no-cache-dir -r requirements/mcp_gmail.txt \
&& pip install --no-cache-dir -r requirements/gradio.txt
# Copy application code
COPY src/ /app/src/
COPY secrets/ /app/secrets/
ENV PYTHONPATH=/app
EXPOSE 7860
# Copy entry script (includes Postgres startup)
COPY start.sh /app/start.sh
RUN chmod +x /app/start.sh
CMD ["/app/start.sh"]