Bladwijzer Handleiding Naar Bladwijzer →

Handleiding › Installatie

Database

PostgreSQL voor Bladwijzer: in Coolify of bij Supabase, de verbindings-URL, SSL, de verhuis van een oude SQLite-versie en back-ups.

Bladwijzer gebruikt PostgreSQL (versie 14 of nieuwer). Het schema wordt bij het opstarten vanzelf aangemaakt en bijgewerkt.

In Coolify

Maak in hetzelfde project een Database van het type PostgreSQL en kopieer de Postgres URL (internal) naar DATABASE_URL. Gebruik de interne URL: de publieke werkt vaak niet door de firewall.

Bij Supabase

  1. Klik in je Supabase-project bovenaan op Connect en kies bij Method Session pooler. Niet Direct connection: dat adres werkt enkel via IPv6, en dat heeft een Docker-container meestal niet.
  2. Kopieer de URI: postgresql://postgres.<project>:[YOUR-PASSWORD]@aws-0-<regio>.pooler.supabase.com:5432/postgres.
  3. Vervang [YOUR-PASSWORD] (met de haken) door het databasewachtwoord van het project. Codeer tekens als @, # of / (bv. @ wordt %40).
  4. Zet die URI als DATABASE_URL. Niet de Project URL (https://<project>.supabase.co): dat is de API, niet de database.

Versleutelde verbinding

  • Snel: zet ?sslmode=no-verify achter de URL. De verbinding is versleuteld, maar het certificaat wordt niet gecontroleerd.
  • Beter: download het certificaat bij Database Settings › SSL Configuration en zet de volledige inhoud (met -----BEGIN CERTIFICATE-----) in DATABASE_CA_CERT. Laat sslmode dan weg uit de URL. Bladwijzer controleert de server dan volledig.

Goed om te weten

Een gratis Supabase-project wordt gepauzeerd na een week zonder activiteit; in het dashboard zet je het weer aan.

Van een oude versie met SQLite verhuizen

Draaide je een oudere versie met bladwijzer.db? Zet tijdens de verhuis ALLOW_REGISTRATION=false, deploy de nieuwe versie en draai in de terminal:

npm run migrate-sqlite -- /data/bladwijzer.db

Gebruikers, wachtwoorden, sessies, waarnemingen, tuinen, bomen en foto’s gaan mee, met dezelfde nummers, in één transactie. Het script weigert als er al gebruikers zijn; met --vervang wist het die eerst. Zet daarna ALLOW_REGISTRATION terug op true.

Bijgewerkt op 2026-10-01