Commando's
Alle commando’s draaien vanuit de repo-root. pnpm --filter <package> voert een script uit met de package-map als werkmap; paden in argumenten zijn dus relatief aan die map (vandaar ../../tenants/… bij ops).
Hele repo
Section titled “Hele repo”pnpm install # alle packages installerenpnpm typecheck # turbo: typecheck in elke packagepnpm build # turbo: build van alle appspnpm dev # turbo: alle dev-servers tegelijkpnpm clean # turbo: build-artefacten wegdocker compose up -d # lokale Postgres 18 + MinIOKlantsite
Section titled “Klantsite”pnpm --filter site-template run dev # http://localhost:4321, CMS op admin.localhost:4321pnpm --filter site-template run build # productiebuild naar dist/pnpm --filter site-template run previewnode apps/site-template/dist/server/entry.mjs # gebouwde server; nodig om de route-cache te testenTenant-database
Section titled “Tenant-database”pnpm --filter @platform/db exec drizzle-kit generate # migratie genereren uit schema.tsDATABASE_URL=… pnpm --filter @platform/db run migrate # migraties uitvoerenALLOW_DESTRUCTIVE_SEED=1 DATABASE_URL=… pnpm --filter @platform/db run seed # alleen tenant_demo / *_testMaster dashboard
Section titled “Master dashboard”./scripts/provision-master-db.sh # rol + database platform_masterMASTER_DATABASE_URL=… pnpm --filter @platform/db run generate:masterMASTER_DATABASE_URL=… pnpm --filter @platform/db run migrate:masterMASTER_DATABASE_URL=… pnpm --filter @platform/ops run create-admin -- --email jij@example.com --yespnpm --filter master-dashboard run dev # http://localhost:3000pnpm --filter master-dashboard run typecheck # vue-tscBeheerscripts (ops)
Section titled “Beheerscripts (ops)”# Rol + database voor een tenant; DATABASE_URL verschijnt eenmalig op stderrPGHOST=… PGUSER=postgres PGPASSWORD=… pnpm --filter @platform/ops run provision-db -- --tenant <slug>
# Eerste content uit JSON (eerst --dry-run, dan --yes)DATABASE_URL=… pnpm --filter @platform/ops run bootstrap -- --config ../../tenants/<slug>.json --dry-run
# CMS-gebruiker met eenmalig wachtwoordDATABASE_URL=… pnpm --filter @platform/ops run create-user -- --email … --name "…" --role admin --yes
# Backup, restore, verificatieDATABASE_URL=… pnpm --filter @platform/ops run backup -- --tenant <slug> --out ./backupspnpm --filter @platform/ops run restore -- --from ./backups/<slug>/<ts> --database-url postgresql://… --yesDATABASE_URL=… pnpm --filter @platform/ops run verify -- --expect ./backups/<slug>/<ts>/meta.json --http https://<domein> --json
pnpm --filter @platform/ops run test # unit-tests van opsDocumentatie
Section titled “Documentatie”pnpm --filter docs run dev # http://localhost:4322pnpm --filter docs run build # productiebuild, inclusief zoekindexpnpm --filter docs run preview # gebouwde site bekijken (zoeken werkt hier wél)pnpm --filter docs run typecheck # astro checkDocker-images
Section titled “Docker-images”docker build -f apps/site-template/Dockerfile --build-arg S3_PUBLIC_URL=… -t site-template .docker build -f apps/master-dashboard/Dockerfile -t okhema-master .Build-context is altijd de repo-root. Voor een linux/amd64-VPS vanaf een Mac: docker buildx build --platform linux/amd64 …. De volledige lijst build-argumenten staat bij Deploy.