FROM alpine:latest ARG PB_VERSION=0.35.1 # Install dependencies RUN apk add --no-cache \ unzip \ ca-certificates # Set up user with ID 1000 (required by HuggingFace Spaces) RUN adduser -D -u 1000 user # Download and extract PocketBase ADD --chmod=755 https://github.com/pocketbase/pocketbase/releases/download/v${PB_VERSION}/pocketbase_${PB_VERSION}_linux_amd64.zip /tmp/pb.zip RUN unzip /tmp/pb.zip -d /pb && rm /tmp/pb.zip # Create data directory with proper permissions RUN mkdir -p /pb/pb_data && chown -R user:user /pb # Copy startup script COPY --chown=user start.sh /pb/start.sh RUN chmod +x /pb/start.sh # Switch to non-root user USER user WORKDIR /pb # Expose PocketBase port EXPOSE 8080 # Start PocketBase with default superuser creation CMD ["./start.sh"]