FROM debian:bookworm-slim # Install system dependencies RUN apt-get update && apt-get install -y \ python3 \ python3-venv \ python3-pip \ gpsbabel \ && rm -rf /var/lib/apt/lists/* # Set up app directory WORKDIR /app # Copy application files COPY app.py /app/ COPY templates /app/templates COPY requirements.txt /app/ # Create and activate virtual environment ENV VIRTUAL_ENV=/opt/venv RUN python3 -m venv $VIRTUAL_ENV ENV PATH="$VIRTUAL_ENV/bin:$PATH" # Install Python dependencies in virtual environment RUN pip install --upgrade pip && pip install --no-cache-dir -r requirements.txt # Create input and output directories RUN mkdir /app/input /app/output # Set environment variables ENV FLASK_APP=app.py ENV FLASK_RUN_HOST=0.0.0.0 # Expose port EXPOSE 5000 # Run the application CMD ["python", "-m", "flask", "run"]