# syntax=docker/dockerfile:1.7
ARG POCKETBASE_VERSION=0.38.2
ARG ALPINE_VERSION=3.24.1

FROM alpine:${ALPINE_VERSION} AS downloader
ARG POCKETBASE_VERSION
ARG TARGETARCH
RUN apk add --no-cache ca-certificates unzip wget \
    && wget -q "https://github.com/pocketbase/pocketbase/releases/download/v${POCKETBASE_VERSION}/pocketbase_${POCKETBASE_VERSION}_linux_${TARGETARCH}.zip" -O /tmp/pocketbase.zip \
    && wget -q "https://github.com/pocketbase/pocketbase/releases/download/v${POCKETBASE_VERSION}/checksums.txt" -O /tmp/checksums.txt \
    && cd /tmp \
    && grep "pocketbase_${POCKETBASE_VERSION}_linux_${TARGETARCH}.zip" checksums.txt | sha256sum -c - \
    && unzip /tmp/pocketbase.zip -d /out

FROM alpine:${ALPINE_VERSION}
RUN apk add --no-cache ca-certificates tzdata \
    && addgroup -g 1000 pocketbase \
    && adduser -D -H -u 1000 -G pocketbase pocketbase \
    && install -d -o pocketbase -g pocketbase /data/pocketbase /tmp
COPY --from=downloader /out/pocketbase /usr/local/bin/pocketbase
EXPOSE 8090
ENTRYPOINT ["/usr/local/bin/pocketbase", "serve", "--http=0.0.0.0:8090", "--dir=/data/pocketbase"]

