| FROM python:3.10-slim | |
| # HF Spaces requires non-root user with UID 1000 | |
| RUN useradd -m -u 1000 user | |
| USER user | |
| ENV HOME=/home/user \ | |
| PATH=/home/user/.local/bin:$PATH | |
| WORKDIR /home/user/app | |
| # Install all dependencies in one layer | |
| COPY --chown=user server/requirements.txt ./server_requirements.txt | |
| COPY --chown=user client/requirements.txt ./client_requirements.txt | |
| RUN pip install --no-cache-dir \ | |
| -r server_requirements.txt \ | |
| -r client_requirements.txt | |
| # Copy application code | |
| COPY --chown=user server/ ./server/ | |
| COPY --chown=user client/ ./client/ | |
| COPY --chown=user docker-entrypoint.sh . | |
| RUN chmod +x docker-entrypoint.sh | |
| # HF Spaces public port | |
| EXPOSE 7860 | |
| CMD ["./docker-entrypoint.sh"] | |