mirror of
https://github.com/soxoj/maigret.git
synced 2026-08-17 19:25:41 +02:00
Adding PDF dependency by default for web variant as a search will result in an error without installing this. In case it is not installed it maigret web will return to the landing page and will present an error in the logs.
29 lines
873 B
Docker
29 lines
873 B
Docker
FROM python:3.11-slim AS base
|
|
LABEL maintainer="Soxoj <soxoj@protonmail.com>"
|
|
WORKDIR /app
|
|
RUN pip install --no-cache-dir --upgrade pip
|
|
RUN apt-get update && \
|
|
apt-get install --no-install-recommends -y \
|
|
build-essential \
|
|
python3-dev \
|
|
pkg-config \
|
|
libcairo2-dev \
|
|
libxml2-dev \
|
|
libxslt1-dev \
|
|
&& rm -rf /var/lib/apt/lists/* /tmp/*
|
|
COPY . .
|
|
RUN YARL_NO_EXTENSIONS=1 python3 -m pip install --no-cache-dir .
|
|
# For production use, set FLASK_HOST to a specific IP address for security
|
|
ENV FLASK_HOST=0.0.0.0
|
|
|
|
# Web UI variant: auto-launches the web interface on $PORT
|
|
FROM base AS web
|
|
RUN pip install --no-cache-dir '.[pdf]'
|
|
ENV PORT=5000
|
|
EXPOSE 5000
|
|
ENTRYPOINT ["sh", "-c", "exec maigret --web \"$PORT\""]
|
|
|
|
# Default variant (last stage = `docker build .` target): CLI, backwards-compatible
|
|
FROM base AS cli
|
|
ENTRYPOINT ["maigret"]
|