# syntax=docker/dockerfile:1

# PocketBase built from the official release binary on alpine:latest.
FROM alpine:latest

# Pin a version, or leave empty to fetch the latest release at build time.
ARG PB_VERSION=""
# Provided automatically by BuildKit (amd64 / arm64).
ARG TARGETARCH="amd64"

RUN apk add --no-cache ca-certificates unzip wget

WORKDIR /pb

RUN set -eux; \
    ver="${PB_VERSION}"; \
    if [ -z "$ver" ]; then \
      ver="$(wget -qO- https://api.github.com/repos/pocketbase/pocketbase/releases/latest \
        | grep -o '"tag_name": *"v[^"]*"' | head -1 | sed -E 's/.*"v([^"]+)".*/\1/')"; \
    fi; \
    echo "Installing PocketBase v${ver} (${TARGETARCH})"; \
    wget -q -O /tmp/pb.zip \
      "https://github.com/pocketbase/pocketbase/releases/download/v${ver}/pocketbase_${ver}_linux_${TARGETARCH}.zip"; \
    unzip /tmp/pb.zip -d /pb; \
    rm /tmp/pb.zip

COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh

# pb_data holds the SQLite database and uploads — mount a volume here.
VOLUME /pb/pb_data
EXPOSE 8090

ENTRYPOINT ["/entrypoint.sh"]
