Pocketbase persistent data

asmirbelkic
HOBBY

10 months ago

I deployed a custom version of pocketbase, and i created a volume at /pb_data but i have an issue with the persistence isn't working, i guess it's a problem with the path/directory.

# Use the official Go image to build the PocketBase binary
FROM golang:1.21-alpine AS builder

# Set the working directory
WORKDIR /app

# Copy go mod and sum files
COPY go.mod go.sum ./

# Download all dependencies
RUN go mod download

# Copy the source code into the container
COPY . .

# Build the PocketBase application
RUN CGO_ENABLED=0 GOOS=linux go build -o pocketbase .

# Start a new stage from scratch
FROM alpine:latest

# Install necessary packages
RUN apk add --no-cache ca-certificates

# Set the working directory
WORKDIR /pb

ENV PORT=8080

# Expose port 8080
EXPOSE 8080

# Copy the binary from the builder stage
COPY --from=builder /app/pocketbase /usr/local/bin/pocketbase

# Command to run PocketBase
CMD ["/usr/local/bin/pocketbase", "serve", "--http=0.0.0.0:8080", "--dir=/pb_data", "--publicDir=/pb_public"]

0 Replies

asmirbelkic
HOBBY

10 months ago

4e78d088-677d-4ecb-ba7a-8eb3bd3bd174


10 months ago

what does --dir represent in this case?


asmirbelkic
HOBBY

10 months ago

i think it represents the directory where PocketBase will store its data


10 months ago

have you tried /pb/pb_data ?


asmirbelkic
HOBBY

10 months ago

i did not


asmirbelkic
HOBBY

10 months ago

1280543635401867300


10 months ago

switch to the v2 runtime and then use target ports on your domain


asmirbelkic
HOBBY

10 months ago

"then use target ports on your domain" what you mean


10 months ago

instead of me explaining, remove and re-add your domain after switching to the v2 runtime and you will see what i mean


asmirbelkic
HOBBY

10 months ago

same


10 months ago

from your logs -

Error: unknown flag: --publicDir

asmirbelkic
HOBBY

10 months ago

since it's the default folder i'll remove that


asmirbelkic
HOBBY

10 months ago

should i do the same for --dir/pb_data ?


10 months ago

the template doesnt set a dir, so maybe omit that too


asmirbelkic
HOBBY

10 months ago

meh.. 0.056 go: go.mod requires go >= 1.22 (running go 1.21.13; GOTOOLCHAIN=local)
I need go minimal 1.22 how to update this in docker image ?


10 months ago

line 2 of your dockerfile


asmirbelkic
HOBBY

10 months ago

ok now maybe the right path to the volume is /pb_data


10 months ago

I would first leave it at /pb/pb_data


asmirbelkic
HOBBY

10 months ago

ok i redeploy to test it


asmirbelkic
HOBBY

10 months ago

ok this path isn't working


10 months ago

what about pocket base have you changed anyway?


asmirbelkic
HOBBY

10 months ago

Okey with pb/pb_data did

  • i updated it deployed

  • backup my data

  • tested the data persistence with a redeploy
    But everything got erased


10 months ago

can you try the pocket base template please


asmirbelkic
HOBBY

10 months ago

the pocketbase template works fine but i have a custom main.go pocketbase code


10 months ago

you have no issues with data persistence using the template, correct?


asmirbelkic
HOBBY

10 months ago

yep


10 months ago

okay then it's something you are misconfiguring


10 months ago

please send the GitHub repo for your pocketbase


asmirbelkic
HOBBY

10 months ago

Im doing the test again with volume on /pb_data.


10 months ago

going forward let's leave the volume mounted to /pb/pb_data as that's what the template has the volume mounted to


asmirbelkic
HOBBY

10 months ago

F…. it's same… both are not working


10 months ago

^


asmirbelkic
HOBBY

10 months ago


asmirbelkic
HOBBY

10 months ago

Can't understand what is causing the issue….


10 months ago

then I'm unsure, all I have for you right now is that something you have done is misconfigured.


Pocketbase persistent data - Railway Help Station