conv / Dockerfile
ketannnn's picture
Fix Hugging Face port binding issues (default to 7860)
b27b096
Raw
History Blame Contribute Delete
1.54 kB
FROM python:3.11-slim
# Prevent interactive prompts during package installation
ENV DEBIAN_FRONTEND=noninteractive
# Enable the contrib repository in Debian to access MS fonts
RUN sed -i 's/Components: main/Components: main contrib/g' /etc/apt/sources.list.d/debian.sources || true
# Install dependencies, LibreOffice headless, and a comprehensive set of fonts
RUN apt-get update && apt-get install -y --no-install-recommends \
libreoffice \
libreoffice-writer \
libreoffice-impress \
libreoffice-calc \
libreoffice-draw \
fonts-dejavu \
fonts-liberation \
fonts-liberation2 \
fonts-noto \
fonts-open-sans \
fonts-roboto \
fonts-freefont-ttf \
cabextract \
xfonts-utils \
curl \
# Pre-accept EULA for MS fonts (msttcorefonts)
&& echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | debconf-set-selections \
&& apt-get install -y --no-install-recommends ttf-mscorefonts-installer \
# Clean up APT cache to keep the image slim
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# Install Flask for the web service
RUN pip install --no-cache-dir flask
# Set up the working directory inside the container
WORKDIR /app
# Copy the CLI converter script, web server code, and HTML template
COPY converter.py /app/converter.py
COPY app.py /app/app.py
COPY templates/ /app/templates/
# Expose the Flask web server port
EXPOSE 7860
# Set the default command to start the Flask web application
CMD ["python", "/app/app.py"]