FROM debian:bookworm-slim AS tile-builder

ENV DEBIAN_FRONTEND=noninteractive \
    PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1

RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        gdal-bin \
        python3 \
        python3-pil \
        ca-certificates \
        proj-data \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app
COPY scripts/ /app/scripts/
COPY config/ /app/config/
RUN chmod +x /app/scripts/build-tiles.sh /app/scripts/build-tiles.py

ENTRYPOINT ["/app/scripts/build-tiles.sh"]

FROM nginx:1.27-alpine AS tile-server
RUN apk add --no-cache python3
COPY nginx/default.conf /etc/nginx/conf.d/default.conf
COPY nginx/00-callback-provider-cache.conf /etc/nginx/conf.d/00-callback-provider-cache.conf
COPY scripts/callback_provider.py /usr/local/bin/callback-provider.py
COPY nginx/render-callback-provider.sh /docker-entrypoint.d/40-render-callback-provider.sh
RUN chmod +x /docker-entrypoint.d/40-render-callback-provider.sh
