28 lines
1.1 KiB
Docker
28 lines
1.1 KiB
Docker
# PocketBase 0.40.4 — the schema in pb_migrations is applied automatically on
|
|
# first boot, and the admin account is seeded from PB_SUPERUSER_EMAIL /
|
|
# PB_SUPERUSER_PASSWORD. Data persists in the mounted /pb_data volume.
|
|
|
|
FROM alpine:3.20
|
|
|
|
ARG PB_VERSION=0.40.4
|
|
# Docker BuildKit sets TARGETARCH (amd64/arm64) — matches PocketBase release assets.
|
|
ARG TARGETARCH
|
|
|
|
RUN apk add --no-cache curl ca-certificates unzip \
|
|
&& curl -fsSL -o /tmp/pocketbase.zip \
|
|
"https://github.com/pocketbase/pocketbase/releases/download/v${PB_VERSION}/pocketbase_${PB_VERSION}_linux_${TARGETARCH:-amd64}.zip" \
|
|
&& unzip /tmp/pocketbase.zip -d /usr/local/bin/ \
|
|
&& rm /tmp/pocketbase.zip \
|
|
&& chmod +x /usr/local/bin/pocketbase
|
|
|
|
WORKDIR /pb
|
|
|
|
COPY pb_migrations ./pb_migrations
|
|
# All app logic (validation + email) lives in the Express API, so no runtime
|
|
# hooks are required here — an empty hooks dir keeps startup clean.
|
|
RUN mkdir -p ./pb_hooks /pb_data
|
|
|
|
EXPOSE 8090
|
|
|
|
CMD ["pocketbase", "serve", "--http=0.0.0.0:8090", "--dir=/pb_data", "--migrationsDir=/pb/pb_migrations", "--hooksDir=/pb/pb_hooks", "--encryptionEnv=PB_ENCRYPTION_KEY"]
|