fit2gpx/Dockerfile

39 lines
846 B
Docker

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"]