# Payload CMS Multi-Tenant Multi-Tenant Headless CMS for 3 active websites under a single Payload CMS instance. ## Tech Stack - **CMS:** Payload CMS 3.76.1 - **Framework:** Next.js 16.2.0-canary.41 - **Runtime:** Node.js 22.x - **Database:** PostgreSQL 17.6 (via PgBouncer) - **Cache:** Redis 7.x (optional, with in-memory fallback) - **Package Manager:** pnpm ## Tenants | Tenant | Slug | Domain | |--------|------|--------| | porwoll.de | porwoll | porwoll.de | | Complex Care Solutions GmbH | c2s | complexcaresolutions.de | | Gunshin | gunshin | gunshin.de | ## Quick Start ### Prerequisites - Node.js 22.x - pnpm - PostgreSQL 17 (or PgBouncer connection) - Redis (optional) ### Setup ```bash # Install dependencies pnpm install # Copy environment variables cp .env.example .env # Edit .env with your database credentials # Run development server pnpm dev ``` Open [http://localhost:3000/admin](http://localhost:3000/admin) to access the admin panel. ## Commands ```bash pnpm dev # Development server pnpm build # Production build pnpm payload migrate # Run migrations pnpm payload migrate:create # Create migration pnpm test # Run tests pnpm lint # ESLint pnpm typecheck # TypeScript check ``` ## Documentation - **[CLAUDE.md](./CLAUDE.md)** - Full project documentation (collections, blocks, APIs, architecture) - **[docs/](./docs/)** - Additional documentation (infrastructure, deployment, security) ## Email Testing Set `EMAIL_DELIVERY_DISABLED=true` to bypass SMTP calls during testing. This flag is automatically honored in `NODE_ENV=test`.