Wenn Sie Strapi CMS entwachsen sind: Erstellen mit Payload + Supabase
Wenn Sie Strapi outgrown haben: Mit Payload + Supabase bauen
Ich habe Strapi in den letzten Jahren für mindestens ein Dutzend Kundenprojekte eingerichtet. Es ist ein großartiges CMS für den Einstieg – freundliches Admin-Panel, anständiges Plugin-Ökosystem, solide Dokumentation. Aber irgendwo um die 18-Monats-Marke herum stoßen fast alle Teams, mit denen ich zusammengearbeitet habe, auf eine Grenze. Die Migrationen werden schmerzhaft, die Anpassungen fühlen sich hacky an, und Ihre TypeScript-liebenden Frontend-Entwickler fangen an, sich über die Developer Experience zu beschweren. Falls sich das vertraut anfühlt, sind Sie nicht allein. Lassen Sie mich Sie durch die Zeichen führen, dass Sie über Strapi hinausgewachsen sind, und noch wichtiger, was Sie stattdessen bauen sollten.

Inhaltsverzeichnis
- Die Flitterwochen-Phase: Warum Strapi am Anfang funktioniert
- Sechs Zeichen, dass Sie über Strapi hinausgewachsen sind
- Ihre Optionen verstehen: Payload vs Supabase vs Bleiben Sie dabei
- Warum Payload CMS der natürliche nächste Schritt ist
- Wo Supabase passt (und wo nicht)
- Der Payload + Supabase Stack: Architecture Deep Dive
- Migrationsstrategie: Weg von Strapi ohne den Verstand zu verlieren
- Performance-Benchmarks und Real-World-Zahlen
- Wenn dieser Stack nicht der richtige Ruf ist
- FAQ
Die Flitterwochen-Phase: Warum Strapi am Anfang funktioniert
Geben wir dem Guthaben, wo es fällig ist. Strapi hat 65K+ GitHub-Sterne aus einem bestimmten Grund. Wenn Sie ein neues inhaltsgesteuertes Projekt starten, ist der Content-Type Builder wirklich nützlich. Sie klicken in einer GUI herum, definieren einige Felder, und boom – Sie haben REST- und GraphQL-APIs. Nicht-technische Content-Editoren können sich im Admin-Panel anmelden und innerhalb einer Stunde mit der Veröffentlichung beginnen.
Für frühe Startups, Marketing-Sites und Blogs ist Strapi eine völlig sinnvolle Wahl. Es unterstützt PostgreSQL, MySQL, MariaDB und SQLite. Der Plugin-Marktplatz hat über 100 Community-Erweiterungen. Und die Community Edition ist unter MIT-Lizenz kostenlos.
Ich habe Strapi viele Male empfohlen. Ich bin nicht hier, um es zu verunglimpfen. Ich bin hier, um zu besprechen, was danach passiert.
Sechs Zeichen, dass Sie über Strapi hinausgewachsen sind
Dies sind die Muster, die ich wiederholt sehe. Wenn drei oder mehr dieser Punkte resonieren, ist es Zeit, Ihre Migration zu planen.
1. Migrationen machen Sie nervös
Das v4-zu-v5-Upgrade ist das, das viele Teams brach. Strapi dokumentierte 50+ Breaking Changes. In der Praxis habe ich Migrationen gesehen, die 40+ Stunden Entwicklerzeit für Projekte mit mittlerer Komplexität in Anspruch nahmen. Das ist kein kleines Versions-Bump – das ist ein Rewrite Ihrer Content-Layer.
Wenn Sie das nächste Major-Update fürchten, weil Sie wissen, dass es die Hälfte Ihrer benutzerdefinierten Controller bricht, sind Sie über das Tool hinausgewachsen.
2. Ihre Entwickler kämpfen gegen das Framework
Strapias Content-Type Builder ist großartig für nicht-technische Benutzer. Für Entwickler, die in TypeScript leben und Code-First-Schemas wollen, ist es ein Engpass. Die GUI generiert Dateien, die Sie nicht bearbeiten sollen. Die Lifecycle-Hooks fühlen sich angebracht an. TypeScript-Support wurde spät in v4 hinzugefügt und ist immer noch nicht nativ – es ist eher eine Nachgedanke.
Wenn Ihr Team anfängt, Lösungen für das Framework zu erstellen, anstatt Features damit zu erstellen, ist das ein klares Signal.
3. Die Performance wird zu einem Problem
Strapias Cold Starts liegen typischerweise zwischen 500ms und 2000ms. Die globale Latenz liegt zwischen 200-500ms ohne aggressive Caching. Für einen Blog ist das in Ordnung. Für eine E-Commerce-Plattform, die Benutzer auf mehrere Regionen verteilt bedient, ist das nicht.
Ich hatte einen Kunden, der einen mehrsprachigen Produktkatalog auf Strapi laufen hatte. Sobald sie etwa 50.000 Content-Einträge mit tiefen Beziehungen überschritten, kletterten API-Antwortzeiten über die 2-Sekunden-Marke. Keine Menge Indexierung hat das behoben.
4. Sie benötigen Features, die hinter bezahlten Tiers gesperrt sind
Strapias Growth-Plan kostet $45/Monat und umfasst 3 Sitze (zusätzliche Sitze bei $15/Sitz). Das entsperrt KI-Features, Live-Vorschau und Content-History. Enterprise-Preise sind benutzerdefiniert.
Das Problem ist nicht der Preis – es ist das Prinzip. Features wie Live-Vorschau und Content-Versionierung fühlen sich 2025 wie Table-Stakes für ein CMS an. Sie hinter einem Abonnement auf einem Open-Source-Tool zu sperren reibt Entwickler-Teams die falsche Weise.
5. Ihr Stack hat sich über Strapias Architektur hinaus entwickelt
Wenn Sie sich ganz auf Next.js, Vercel und TypeScript verlassen haben, beginnt sich Strapi wie ein unbeholfenes Anhängsel anzufühlen. Es läuft als separater Node.js-Dienst. Das bedeutet separate Deployments, separate Überwachung, separate Skalierungsbedenken. Ihr Frontend-Team wird in Sekunden zu Vercel bereitgestellt, während Ihr CMS seine eigene Infrastruktur benötigt.
6. Benutzerdefinierte Erweiterungen fühlen sich wie eine Operation an
Möchten Sie bedingte Feldlogik hinzufügen? Verschachtelte wiederholbare Blöcke mit Validierung? Benutzerdefinierte Admin-Panel-Komponenten? In Strapi ist jedes davon möglich, aber schmerzhaft. Das Admin-Panel ist eine React-App, aber es zu erweitern bedeutet, ein proprietäres Erweiterungssystem zu navigieren, das sich nicht wie normale React-Entwicklung anfühlt.

Ihre Optionen verstehen: Payload vs Supabase vs Bleiben Sie dabei
Bevor wir weiter gehen, werden wir klar über das, was diese Tools wirklich sind, denn ich sehe sie ständig vermengt.
| Tool | Was es wirklich ist | Am besten für | Nicht großartig für |
|---|---|---|---|
| Strapi | Open-Source Headless CMS mit Admin GUI | Content-Editoren, schnelle API-Generierung | Code-First Teams, High-Perf Apps |
| Payload CMS | Code-First CMS Framework, das in Next.js läuft | TypeScript-Entwickler, benutzerdefinierte Content-Apps | Nicht-technische Solo-Betreiber |
| Supabase | Open-Source Backend-Plattform (DB, Auth, Storage, Realtime) | Anwendungsdaten, Auth, Dateispeicherung | Content-Editing Workflows |
| Directus | SQL-First Headless CMS mit auto-generierten APIs | Teams mit bestehenden Datenbanken | Tiefe Next.js-Integration |
| Sanity | Verwaltetes Headless CMS mit Echtzeit-Zusammenarbeit | Editorial-Teams, strukturierte Inhalte | Budget-bewusste Selbsthosting |
Payload und Supabase sind keine Konkurrenten – sie ergänzen sich. Payload handhabt Ihre Content-Modellierung, Admin-UI und Content-APIs. Supabase handhabt Ihr Datenbank-Hosting, Authentifizierung, Dateispeicherung und Echtzeit-Abonnements. Zusammen ersetzen sie Strapi und noch mehr.
Warum Payload CMS der natürliche nächste Schritt ist
Payload hat 2025 und darüber hinaus ernsthafte Wellen geschlagen. MG Software nannte es einen "Market Disruptor" für TypeScript/Next.js-Integration, und ich denke, das ist genau.
Hier ist der grundlegende architektonische Unterschied: Payload läuft in Ihrer Next.js-Anwendung. Nicht daneben. Nicht als separater Service. Drin. Ihr CMS und Ihr Frontend teilen sich die gleiche Bereitstellung, die gleichen TypeScript-Typen, den gleichen Build-Prozess.
Code-First Schema-Definition
Anstatt durch eine GUI zu klicken, um Content-Typen zu erstellen, schreiben Sie TypeScript:
import { CollectionConfig } from 'payload';
export const Products: CollectionConfig = {
slug: 'products',
admin: {
useAsTitle: 'name',
defaultColumns: ['name', 'price', 'status'],
},
access: {
read: () => true,
create: ({ req: { user } }) => user?.role === 'admin',
},
fields: [
{
name: 'name',
type: 'text',
required: true,
},
{
name: 'price',
type: 'number',
min: 0,
},
{
name: 'description',
type: 'richText',
},
{
name: 'category',
type: 'relationship',
relationTo: 'categories',
hasMany: false,
},
{
name: 'variants',
type: 'array',
fields: [
{ name: 'sku', type: 'text', required: true },
{ name: 'color', type: 'select', options: ['red', 'blue', 'green'] },
{
name: 'stock',
type: 'number',
admin: {
condition: (data, siblingData) => siblingData?.sku !== undefined,
},
},
],
},
],
hooks: {
afterChange: [
async ({ doc, operation }) => {
if (operation === 'update' && doc.stock === 0) {
// Trigger restock notification
}
},
],
},
};
Das ist ein echter Content-Typ mit bedingter Feldlogik, verschachtelten Arrays, Relationship-Feldern, rollenbasierter Zugriffskontrolle und Lifecycle-Hooks. Alles in einer Datei. Alles typsicher. Alles versionskontrolliert in Git.
Versuchen Sie, das in Strapi ohne Anfassen von drei verschiedenen Dateien und dem Admin-Erweiterungssystem zu tun.
Drei API-Layer
Payload generiert REST- und GraphQL-APIs automatisch aus Ihrem Schema. Aber die Killer-Feature ist die Local API – direkte Datenbankabfragen aus Ihrem Server-Side-Code ohne HTTP-Overhead:
// Inside a Next.js Server Component
import { getPayload } from 'payload';
import config from '@payload-config';
export default async function ProductPage({ params }) {
const payload = await getPayload({ config });
const product = await payload.findByID({
collection: 'products',
id: params.id,
depth: 2, // Populate relationships 2 levels deep
});
return <ProductDetail product={product} />;
}
Keine Fetch-Aufrufe. Keine API-Routes. Kein Serialisierungs-Overhead. Das ist, warum Payload in vergleichbaren Setups etwa 7x schneller benchmarkt als Strapi für Content-Abruf.
Wo Supabase passt (und wo nicht)
Supabase ist kein CMS. Ich möchte sehr klar sein. Es ist eine Backend-Plattform, die auf PostgreSQL aufgebaut ist. Aber es löst mehrere Probleme, die Strapi schlecht handhabt und Payload überhaupt nicht handhabt.
Was Supabase zum Stack bringt
- Verwaltete PostgreSQL: Strapias PostgreSQL-Adapter verbindet sich direkt mit einer Supabase-Datenbank. Sie erhalten Connection Pooling, automatische Backups und ein Dashboard für direkte SQL-Abfragen. Der Pro-Plan beginnt bei $25/Monat und skaliert mit der Nutzung.
- Authentifizierung: Supabase Auth unterstützt Email/Passwort, Magic Links, OAuth-Provider und Row-Level Security. Falls Ihre App Benutzer-seitige Features über die CMS-Admin hinaus hat, ist das riesig.
- Dateispeicherung: S3-kompatibler Objektspeicher mit CDN. Payload kann Media-Uploads handeln, aber Supabase Storage handelt Anwendungsdateien, Benutzer-Uploads und alles außerhalb des CMS-Kontexts.
- Echtzeit-Abonnements: PostgreSQL's LISTEN/NOTIFY in eine saubere WebSocket-API verpackt. Koppeln Sie dies mit Strapias Live-Vorschau für Echtzeit-Content-Editing-Erfahrungen.
- Edge Functions: Deno-basierte serverlose Funktionen für Webhook-Handler, Background-Jobs und Integrationen.
Was Supabase nicht tut
Es gibt Ihnen kein Admin-Panel für Content-Editoren. Es generiert keine Content-APIs mit Rich-Text-Feldern und Media-Management. Es handhabt nicht Content-Lokalisierung oder Versionsverlauf. Das ist Strapias Job.
Der Payload + Supabase Stack: Architecture Deep Dive
Hier ist, wie ich dies für Teams einrichte, die von Strapi migrieren. Dies ist die Architektur, die wir typischerweise für Next.js-Entwicklungsprojekte empfehlen, wo Content-Management eine Kernbeforderung ist.
Projektstruktur
├── src/
│ ├── app/ # Next.js App Router
│ │ ├── (frontend)/ # Public-facing pages
│ │ └── (payload)/ # CMS admin routes (auto-generated)
│ ├── collections/ # Payload collection configs
│ │ ├── Posts.ts
│ │ ├── Products.ts
│ │ └── Users.ts
│ ├── globals/ # Payload global configs
│ │ └── SiteSettings.ts
│ ├── lib/
│ │ └── supabase.ts # Supabase client initialization
│ └── payload.config.ts # Main Payload config
├── supabase/
│ └── migrations/ # Supabase DB migrations
├── .env.local
└── package.json
Payload mit Supabase PostgreSQL verbinden
// payload.config.ts
import { buildConfig } from 'payload';
import { postgresAdapter } from '@payloadcms/db-postgres';
import { lexicalEditor } from '@payloadcms/richtext-lexical';
import { Posts } from './collections/Posts';
import { Products } from './collections/Products';
export default buildConfig({
db: postgresAdapter({
pool: {
connectionString: process.env.SUPABASE_DB_URL,
// Use Supabase's connection pooler for serverless
max: 10,
},
}),
editor: lexicalEditor(),
collections: [Posts, Products],
secret: process.env.PAYLOAD_SECRET,
typescript: {
outputFile: path.resolve(__dirname, 'payload-types.ts'),
},
});
Ein wichtiger Hinweis: Verwenden Sie Strapias Connection Pooler URL (Port 6543), nicht die direkte Verbindungs-URL, wenn Sie zu serverlosen Umgebungen wie Vercel bereitstellen. Direkte Verbindungen funktionieren in der lokalen Entwicklung einwandfrei.
Supabase Auth für Anwendungsbenutzer hinzufügen
Payload handhabt CMS-Admin-Authentifizierung. Supabase handhabt alles andere:
// lib/supabase.ts
import { createClient } from '@supabase/supabase-js';
export const supabase = createClient(
process.env.NEXT_PUBLIC_SUPABASE_URL!,
process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!
);
// In a Server Component or API route
import { createServerClient } from '@supabase/ssr';
import { cookies } from 'next/headers';
export async function getServerSupabase() {
const cookieStore = await cookies();
return createServerClient(
process.env.NEXT_PUBLIC_SUPABASE_URL!,
process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!,
{
cookies: {
getAll() {
return cookieStore.getAll();
},
setAll(cookiesToSet) {
cookiesToSet.forEach(({ name, value, options }) =>
cookieStore.set(name, value, options)
);
},
},
}
);
}
Diese Trennung ist sauber: Payload besitzt Content. Supabase besitzt Anwendungsdaten und Benutzeridentität. Sie teilen sich die gleiche PostgreSQL-Instanz, bleiben aber in ihren jeweiligen Spuren.
Migrationsstrategie: Weg von Strapi ohne den Verstand zu verlieren
Ich werde das nicht beschönigen – Migration erfordert Arbeit. Aber es ist dramatisch weniger schmerzhaft als ein Strapi v4-zu-v5 Upgrade, da Sie zu einem System wechseln, das Ihre bestehenden mentalen Modelle respektiert.
Schritt-für-Schritt Ansatz
- Überprüfen Sie Ihre Strapi-Content-Typen. Exportieren Sie sie als JSON aus dem Content-Type Builder. Ordnen Sie jeden einer Payload-Collection-Config zu.
- Richten Sie Payload in einem neuen Next.js-Projekt ein. Führen Sie
npx create-payload-app@latestaus und wählen Sie den PostgreSQL-Adapter. - Zeigen Sie Payload auf Ihre Supabase-Datenbank. Erstellen Sie ein neues Supabase-Projekt, schnappen Sie sich die Verbindungszeichenkette, konfigurieren Sie den Adapter.
- Erstellen Sie Schemas in TypeScript neu. Dies ist der Großteil der Arbeit. Jeder Strapi-Content-Typ wird zu einer Payload-Collection. Felder ordnen sich fast 1:1 zu – Text, Nummer, Richtext, Relation, Media.
- Exportieren Sie Daten aus Strapi. Verwenden Sie
pg_dump, wenn Sie auf PostgreSQL waren, oder schreiben Sie ein Skript gegen die Strapi REST API, um alle Inhalte abzurufen. - In Payload importieren. Verwenden Sie Strapias Local API in einem Seed-Skript, um Content zu erstellen.
- Aktualisieren Sie Ihr Frontend. Swappen Sie Strapi API-Aufrufe für Payload Local API-Aufrufe (in Server Components) oder REST/GraphQL-Aufrufe (in Client-Komponenten).
- Bereitstellen. Da Payload in Next.js läuft, stellen Sie eine Anwendung bereit, anstatt zwei.
Für komplexe Migrationen kann unser Headless CMS Development Team helfen, den Übergang zu planen. Wir haben das oft genug gemacht, um zu wissen, wo die Landminen sind.
Performance-Benchmarks und Real-World-Zahlen
Hier sind die Zahlen, die zählen, gesammelt aus veröffentlichten Benchmarks und unserem eigenen Testen in 2025:
| Metrik | Strapi v5 | Payload 3.x | Payload + Supabase |
|---|---|---|---|
| Cold Start Zeit | 500-2000ms | 100-300ms | 150-350ms |
| Einfache Abfrage (einzelnes Element) | 45-80ms | 8-15ms | 10-20ms |
| Komplexe Abfrage (bevölkert, 3 Ebenen) | 200-500ms | 30-80ms | 40-100ms |
| Admin-Panel laden | 2-4s | 1-2s | 1-2s |
| Build-Zeit (500 Seiten, ISR) | N/A (separat) | 45-90s | 50-100s |
| Globale Latenz (kein CDN) | 200-500ms | 50-150ms | 60-160ms |
Der Supabase Connection Pooler fügt einen kleinen Overhead im Vergleich zu einer direkten PostgreSQL-Verbindung hinzu, typischerweise 5-15ms. Das ist praktisch unerheblich.
Ein Vorbehalt: Strapias bevölkerte Feldabfragen (tiefe Relationship-Auflösung) wurden als langsamer als rohe Datenbankabfragen gekennzeichnet – ungefähr 15x langsamer als direkte Mongoose/Drizzle-Aufrufe gemäß GitHub-Problem #11325. Für Read-Heavy Seiten empfehle ich, Next.js ISR zu verwenden oder bevölkerte Ergebnisse zu cachen, anstatt bei jeder Anfrage die Datenbank zu treffen.
Wenn dieser Stack nicht der richtige Ruf ist
Ich würde Sie ein Unrecht tun, wenn ich nicht die Szenarien erwähne, in denen Payload + Supabase Overkill oder einfach falsch ist.
- Ihr Team schreibt nicht TypeScript. Payload ist Code-First. Falls Ihr Content-Team alles verwaltet und Sie keine Entwickler haben, die das CMS pflegen, ist Strapias GUI wirklich besser. Oder schauen Sie sich Sanity oder Contentful an.
- Sie benötigen heute ein massives Plugin-Ökosystem. Strapias Ökosystem wächst, aber es ist kleiner als Strapias 100+ Erweiterungen. Falls Sie ein bestimmte Integration benötigen, die als Strapi-Plugin existiert, aber nicht für Payload, müssen Sie die Build-Zeit einberechnen.
- Sie bauen einen einfachen Blog oder Marketing-Site. Strapi funktioniert gut dafür. Ebenso Astro mit einem Headless CMS. Über-Engineering nicht.
- Sie benötigen Edge-First Performance. Falls Sub-50ms globale Latenz eine harte Anforderung ist, schauen Sie sich SonicJS auf Cloudflare Workers an. Payload läuft auf Node.js – es ist schnell, aber es ist nicht Edge-Native.
Möchten Sie durchgehen, ob diese Migration für Ihr spezielles Projekt sinnvoll ist? Kontaktieren Sie uns – wir geben Ihnen eine ehrliche Einschätzung, keinen Sales Pitch.
FAQ
Ist Payload CMS wirklich kostenlos?
Ja. Payload ist MIT-lizenziert und kostenlos selbstgehostet ohne Feature-Einschränkungen. Es gibt einen optionalen Payload Cloud Hosting Service für Teams, die keine Infrastruktur verwalten möchten, aber alle CMS-Features – Live-Vorschau, Zugriffskontrolle, Lokalisierung, Versionierung – sind in der Open-Source-Version verfügbar. Vergleichen Sie das mit Strapi, das Live-Vorschau und Content-Historie hinter dem $45/Monat Growth-Plan sperrt.
Kann ich Supabase allein als CMS verwenden?
Technisch könnten Sie eine Content-Management-Schnittstelle auf Supabase mit seinen auto-generierten APIs und Row Level Security aufbauen. Aber Sie würden neu aufbauen, was Payload out of the box gibt: ein Admin-Panel, Rich-Text-Editing, Media-Management, Content-Versionierung und Zugriffskontrolle. Supabase ist eine Backend-Plattform, kein CMS. Verwenden Sie es, für das es gut ist – Datenbank-Hosting, Auth, Storage – und lassen Sie Payload die Content-Layer handeln.
Wie lange dauert es, von Strapi zu Payload zu migrieren?
Für ein typisches Projekt mit 10-20 Content-Typen und einigen tausend Einträgen, erwarten Sie 2-4 Wochen Entwicklerzeit. Die Schema-Neuerstellung ist das größte Stück – Übersetzung von Strapi-Content-Typen zu Payload TypeScript-Configs. Datenmigration ist normalerweise ein oder zwei Tage mit einem guten Skript. Frontend-Updates hängen davon ab, wie eng Ihr Code mit Strapias API-Antwortformat gekoppelt ist. Teams, die eine Data-Access Layer oder Abstraktion verwendet haben, werden es leichter haben.
Funktioniert Payload mit Datenbanken außer PostgreSQL?
Payload unterstützt sowohl MongoDB als auch PostgreSQL durch offizielle Datenbank-Adapter. Für den Supabase-Stack, der in diesem Artikel beschrieben wird, würden Sie den PostgreSQL-Adapter verwenden. Falls Sie einen MongoDB-Hintergrund haben, ist Strapias MongoDB-Adapter tatsächlich reifer, da MongoDB Strapias ursprüngliche Datenbank war. Beide sind in 2025 produktionsreif.
Was ist mit Directus als Alternative zu Strapi?
Directus ist eine solide Option, besonders wenn Sie eine bestehende SQL-Datenbank haben, die Sie über eine CMS-Schnittstelle offenlegen möchten. Es auto-generiert ein Admin-Panel und APIs aus Ihrem Datenbankschema, was clever ist. Der Hauptnachteil im Vergleich zu Payload ist das Fehlen einer tiefen Next.js-Integration – Directus läuft als separater Service, ähnlich wie Strapi. Falls Ihr Team nicht auf dem Next.js/Vercel-Stack ist, verdient Directus eine ernsthafte Überlegung.
Kann ich Payload + Supabase auf Vercel bereitstellen?
Absolut – dies ist eigentlich das ideale Bereitstellungsziel. Da Payload in Ihrer Next.js-App läuft, ist das Bereitstellen zu Vercel so einfach wie das Pushen zu Ihrem Git-Repo. Supabase läuft als verwalteter Service, also gibt es nichts auf dieser Seite bereit zu stellen. Ihre gesamte Infrastruktur wird: Vercel für Compute und CDN, Supabase für Datenbank und Auth. Zwei Services, eine Bereitstellungs-Pipeline. Wir richten dies häufig für Clients über unsere Next.js Development Practice ein.
Ist das Payload Admin-Panel anpassbar?
Sehr. Die Admin-UI wird mit React aufgebaut und unterstützt benutzerdefinierte Komponenten, benutzerdefinierte Ansichten und benutzerdefinierte Felder. Sie können Dashboard-Widgets hinzufügen, benutzerdefinierte Navigationselemente erstellen und jedes Standard-UI-Element überschreiben. Seit Payload 3.x verwendet Admin-Anpassung React Server Components, was bedeutet, dass Ihr benutzerdefinierter Admin-Code Daten Server-Side abrufen kann ohne API-Aufrufe. Das ist eine andere Welt als Strapias Admin-Erweiterungssystem, das Ejecting und Patching erfordert.
Was kostet dieser Stack für die Ausführung in Produktion?
Für ein kleines bis mittleres Projekt: Vercel Pro bei $20/Monat + Supabase Pro bei $25/Monat = $45/Monat insgesamt. Das gibt Ihnen serverlose Compute, eine verwaltete PostgreSQL-Datenbank mit 8GB Speicherung, 250MB Dateispeicherung, 50.000 monatlich aktive Auth-Benutzer und automatische Backups. Skalieren Sie von dort aus nach Bedarf. Vergleichen Sie das mit dem Self-Hosting von Strapi auf einem VPS ($20-50/Monat) plus dem Verwalten Ihrer eigenen Datenbank, oder Strapias Cloud's Growth-Plan bei $45/Monat mit begrenzten Sitzen. Das Payload + Supabase Combo ist cost-konkurrenzfähig und dramatisch einfacher zu betreiben. Für detaillierte Projektschätzungen, überprüfen Sie unsere Preisseite.