Lokaal draaien
Alles draait lokaal met Docker (Postgres en MinIO) en pnpm. Reken op een kwartier voor de eerste keer.
Vereisten
Section titled “Vereisten”- Node.js 22.19 of hoger; de repo eist
>=22.19.0en de productie-images draaien Node 22. - pnpm 11.20.0, bij voorkeur via corepack zodat de versie uit
package.jsonwordt gebruikt:corepack enable. - Docker met Compose, voor Postgres en MinIO.
- Gebruik altijd pnpm, nooit npm of yarn.
De klantsite met demo-data
Section titled “De klantsite met demo-data”-
Installeer alle packages vanuit de repo-root.
Terminal window pnpm install -
Maak het
.env-bestand van de klantsite aan. De standaardwaarden passen bij de Docker-services hieronder.Terminal window cp apps/site-template/.env.example apps/site-template/.env -
Start Postgres en MinIO. De init-container maakt de bucket
platform-mediaaan.Terminal window docker compose up -d -
Draai de migraties en vul de demo-database. Deze scripts lezen
process.envrechtstreeks en zien het.envvan de app niet, dus geefDATABASE_URLexpliciet mee. De seed is destructief en daarom vergrendeld achterALLOW_DESTRUCTIVE_SEED=1.Terminal window export DATABASE_URL=postgresql://platform:platform@localhost:5432/tenant_demopnpm --filter @platform/db run migrateALLOW_DESTRUCTIVE_SEED=1 pnpm --filter @platform/db run seed -
Start de dev-server.
Terminal window pnpm --filter site-template run dev
| Wat | Waar |
|---|---|
| Publieke site | http://localhost:4321 |
| CMS | http://admin.localhost:4321 |
| MinIO-console | http://localhost:9001 (minioadmin / minioadmin) |
Demo-gebruikers uit de seed:
admin@demo.local/demo-admin-change-me(beheerder)editor@demo.local/demo-editor-change-me(redacteur)
Het master dashboard
Section titled “Het master dashboard”Het dashboard heeft een eigen database (platform_master) en een eigen connectiestring, MASTER_DATABASE_URL. Verwar die niet met DATABASE_URL van een klantsite; het script create-admin weigert overigens een database waarin een site-tabel staat.
-
Maak rol en database aan. Het script verwacht
psql; lokaal is dat er meestal niet, dus draai de twee SQL-blokken uit het script via de Postgres-container. Zie Operations.Terminal window ./scripts/provision-master-db.sh -
Migreer de master-database en maak de eerste beheerder aan. Het wachtwoord verschijnt eenmalig in de terminal.
Terminal window export MASTER_DATABASE_URL=postgresql://platform_master:platform_master@localhost:5432/platform_masterpnpm --filter @platform/db run migrate:masterpnpm --filter @platform/ops run create-admin -- --email jij@example.com --yes -
Maak
apps/master-dashboard/.envaan op basis van.env.example. Minimaal nodig:NUXT_DATABASE_URL,NUXT_BETTER_AUTH_SECRET,NUXT_BETTER_AUTH_URLenNUXT_SECRETS_KEY(32 bytes base64,openssl rand -base64 32). Start daarna de dev-server.Terminal window cp apps/master-dashboard/.env.example apps/master-dashboard/.envpnpm --filter master-dashboard run dev
Het dashboard draait op http://localhost:3000. Zonder NUXT_COOLIFY_TOKEN stopt een provisioning-run na de stap secrets; dat is het bedoelde lokale pad, zie Het master dashboard van binnen.
Deze documentatie
Section titled “Deze documentatie”pnpm --filter docs run devDraait op http://localhost:4322 (poort 4321 is van de klantsite). Zoeken werkt alleen in een productiebuild; zie Documentatie uitbreiden.
Als iets niet werkt
Section titled “Als iets niet werkt”admin.localhostlaadt niet. Browsers sturen*.localhostnaar 127.0.0.1, maar niet elk systeem doet dat. Voeg dan127.0.0.1 admin.localhosttoe aan/etc/hosts.- De seed weigert. Bewust: hij draait alleen tegen
tenant_demoof een*_test-database op localhost, en alleen metALLOW_DESTRUCTIVE_SEED=1. Voor echte klanten gebruik jebootstrapencreate-useruit@platform/ops. .envlijkt genegeerd bij een build. Klopt:.envgeldt alleen voorastro dev. Een productiebuild leest de tenant-instellingen als echte omgevingsvariabelen van de container; zie Deploy.- Alles opnieuw.
docker compose down -vgooit de lokale databases en media weg; daarna de stappen hierboven opnieuw.