fix(tippecanoe): build from source instead of unavailable ghcr.io image

ghcr.io/felt/tippecanoe:latest returns 403 — no public Docker image.
Build tippecanoe from GitHub source in a multi-stage Alpine build.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
AI Assistant
2026-03-27 20:41:37 +02:00
parent 536b3659bb
commit 8ebd7e4ee2
+11 -5
View File
@@ -1,12 +1,18 @@
FROM ghcr.io/felt/tippecanoe:latest AS tippecanoe
# Stage 1: build tippecanoe from source
FROM alpine:3.20 AS builder
RUN apk add --no-cache git g++ make sqlite-dev zlib-dev bash
RUN git clone --depth 1 https://github.com/felt/tippecanoe.git /src/tippecanoe
WORKDIR /src/tippecanoe
RUN make -j$(nproc) && make install
# Stage 2: runtime with GDAL + tippecanoe + mc
FROM osgeo/gdal:alpine-normal-latest
# Copy tippecanoe binary from felt image
COPY --from=tippecanoe /usr/local/bin/tippecanoe /usr/local/bin/tippecanoe
COPY --from=tippecanoe /usr/local/bin/tile-join /usr/local/bin/tile-join
COPY --from=builder /usr/local/bin/tippecanoe /usr/local/bin/tippecanoe
COPY --from=builder /usr/local/bin/tile-join /usr/local/bin/tile-join
# Install MinIO client
RUN apk add --no-cache curl && \
RUN apk add --no-cache curl bash && \
curl -fsSL https://dl.min.io/client/mc/release/linux-amd64/mc -o /usr/local/bin/mc && \
chmod +x /usr/local/bin/mc