Skip to main content

Troubleshooting

The server refuses to start and mentions row-level security or the database login​

The server queries Postgres as a login that cannot bypass row-level security, and it refuses to start (and says why) if the login could. This happens when the role is a superuser, has BYPASSRLS, is a member of such a role, or owns tables with row-level security. It also happens when a migration login is configured and the runtime login could still switch to a privileged role.

With the bundled Postgres this is automatic, so check that you did not override CAMPBOOKS_DATABASE_URL. With your own Postgres, create the runtime login as described in Storage and database.

If you cannot split the logins yet, you can start anyway:

CAMPBOOKS_DATABASE_ALLOW_RLS_BYPASS=true

Workspace isolation then rests on the queries alone. Treat this as temporary.

The laya service refuses to start​

laya-serve answers anyone when it has no key, so the laya service refuses to start until CAMPBOOKS_AI__DECIDE__API_KEY is set in .env. Generate one, set it, and start again:

openssl rand -hex 32
docker compose --profile ai up -d

See Local AI.

The embeddings service does not run on my ARM machine​

The CPU build of the text embeddings server is published for linux/amd64 only. On arm64, drop the embeddings service and point the embed role at Ollama with the bge-m3 model. See Local AI.

AI generation is very slow​

CPU inference works but is slow for the complete role. Use a GPU host, or a hosted provider serving open-weight models, and set its URL in .env. The decide (Laya) and embed roles run fine on CPU. See Local AI.

Invitations are not arriving by email​

Invitations are not emailed yet. The inviter gets the link once, right after inviting, to send on. The link is built from CAMPBOOKS_PUBLIC_URL, so set that to the address people actually use. See Sign-in.

The server will not start with S3 storage​

With CAMPBOOKS_BLOBS__BACKEND=s3 the server checks that it can reach the bucket on startup and refuses to start otherwise. Check the endpoint, region, keys and CAMPBOOKS_BLOBS__S3__PATH_STYLE. See Storage and database.