Skip to Content
3. EntwicklungLokal entwickeln

Gesamtsystem lokal entwickeln

App und CMS werden in getrennten Prozessen gestartet. Die Dokumentation kann unabhängig davon laufen.

Voraussetzungen

TeilLaufzeitPaketmanager
AppNode.js 24pnpm 10.28
CMSNode.js 20 bis 22npm
DocsNode.js 22pnpm 10.13

Für produktionsnahe Tests werden zusätzlich MySQL und für Medien ein S3-kompatibler Objektspeicher benötigt. Für lokale Qwen-Audioerzeugung kommen Python, Modellgewichte und je nach Hardware CUDA hinzu. Alternativ kann das CMS KugelAudio oder ElevenLabs verwenden.

1. CMS vorbereiten

cd digeko-cms npm install cp .env.example .env

Die .env.example startet lokal mit SQLite (.tmp/data.db) und dem lokalen Medienspeicher. Ersetzen Sie alle Platzhalter für Strapi-Secrets durch eigene lokale Werte. Diese Werte dürfen nicht committed werden.

Für produktionsnahe Datenbanktests können Sie stattdessen eine leere MySQL-Datenbank mit eigenem Benutzer anlegen und in .env setzen:

DATABASE_CLIENT=mysql DATABASE_HOST=127.0.0.1 DATABASE_PORT=3306 DATABASE_NAME=digeko DATABASE_USERNAME=digeko DATABASE_PASSWORD=<lokales-passwort> DATABASE_SSL=false

CMS starten:

npm run dev

Strapi ist standardmäßig unter http://localhost:1337 erreichbar.

2. App vorbereiten

In einem zweiten Terminal:

cd digeko-app corepack enable pnpm install --frozen-lockfile cp .env.example .env pnpm dev

Die Standardkonfiguration erwartet das CMS unter http://localhost:1337 und startet die App unter http://localhost:3000/de beziehungsweise /en.

3. Öffentlichen Ausgangsdatenstand importieren

In eine neue oder bewusst vorbereitete CMS-Instanz:

npm run data:import

Der Befehl verwendet DIGEKO_DATA_LATEST_URL aus .env, lädt das dort referenzierte Archiv und prüft dessen SHA-256-Prüfsumme vor dem Import. Der Import überschreibt Daten. Prüfen Sie Zielinstanz und Downloadquelle, bevor Sie ihn ausführen.

Datenexport und latest.json verstehen →

4. Optional Content Preview aktivieren

Setzen Sie im CMS und in der App dasselbe zufällige PREVIEW_SECRET. Die App benötigt außerdem ein serverseitiges, minimal berechtigtes CMS_PREVIEW_API_TOKEN sowie APP_ORIGIN=http://localhost:3000. Öffnen Sie beide Dienste konsistent über localhost.

Dokumentation lokal starten

cd digeko-docs corepack enable pnpm install --frozen-lockfile pnpm dev

Die vollständigen Variablen stehen in den jeweiligen .env.example-Dateien und in der Variablenreferenz.