67 lines
1.3 KiB
Docker
67 lines
1.3 KiB
Docker
# =========================
|
||
# Stage 1 – Build
|
||
# =========================
|
||
FROM python:3.13-alpine AS builder
|
||
|
||
WORKDIR /app
|
||
|
||
# Instalacja bibliotek do kompilacji + zależności runtime
|
||
RUN apk add --no-cache \
|
||
tesseract-ocr \
|
||
tesseract-ocr-data-pol \
|
||
poppler-utils \
|
||
libjpeg-turbo \
|
||
zlib \
|
||
libpng \
|
||
libwebp \
|
||
libffi \
|
||
libmagic \
|
||
&& apk add --no-cache --virtual .build-deps \
|
||
build-base \
|
||
jpeg-dev \
|
||
zlib-dev \
|
||
libpng-dev \
|
||
libwebp-dev \
|
||
libffi-dev
|
||
|
||
# Kopiujemy plik wymagań
|
||
COPY requirements.txt .
|
||
|
||
# Instalujemy zależności Pythona do folderu tymczasowego
|
||
RUN pip install --no-cache-dir --prefix=/install -r requirements.txt
|
||
|
||
|
||
# =========================
|
||
# Stage 2 – Final image
|
||
# =========================
|
||
FROM python:3.13-alpine
|
||
|
||
WORKDIR /app
|
||
|
||
# Instalacja tylko bibliotek runtime (bez dev)
|
||
RUN apk add --no-cache \
|
||
tesseract-ocr \
|
||
tesseract-ocr-data-pol \
|
||
poppler-utils \
|
||
libjpeg-turbo \
|
||
zlib \
|
||
libpng \
|
||
libwebp \
|
||
libffi \
|
||
libmagic
|
||
|
||
# Kopiujemy zbudowane biblioteki z buildera
|
||
COPY --from=builder /install /usr/local
|
||
|
||
# Kopiujemy kod aplikacji
|
||
COPY . .
|
||
|
||
# Ustawiamy entrypoint
|
||
COPY entrypoint.sh /entrypoint.sh
|
||
RUN chmod +x /entrypoint.sh
|
||
|
||
# Otwieramy port aplikacji
|
||
EXPOSE 8000
|
||
|
||
ENTRYPOINT ["/entrypoint.sh"]
|