| FROM lfoppiano/grobid:0.8.1 | |
| USER root | |
| # Install Python 3 and pip | |
| RUN apt-get update && \ | |
| apt-get install -y python3 python3-pip python3-venv && \ | |
| rm -rf /var/lib/apt/lists/* | |
| # Create a user with UID 1000 (if it doesn't exist) or modify existing | |
| RUN if ! id -u 1000 > /dev/null 2>&1; then \ | |
| useradd -m -u 1000 user; \ | |
| fi | |
| WORKDIR /app | |
| # Copy requirements and install | |
| COPY requirements.txt . | |
| # Install dependencies | |
| RUN pip3 install --upgrade pip | |
| RUN pip3 install --no-cache-dir -r requirements.txt | |
| # Copy application code | |
| COPY app.py . | |
| COPY venues.py . | |
| COPY start.sh . | |
| # Fix permissions | |
| RUN chown -R 1000:1000 /app /opt/grobid | |
| # Switch to user 1000 | |
| USER 1000 | |
| # Make start script executable (if not already) | |
| RUN chmod +x start.sh | |
| # Expose Gradio port and Grobid port (optional, for debugging) | |
| EXPOSE 7860 8070 | |
| # Command to run the app | |
| CMD ["./start.sh"] | |