Willkommen bei LaunchPad, der offiziellen Strapi Demo-Anwendung. Dieses Repository enthält eine vollständig dockerisierte Version des LaunchPad-Projekts mit Next.js Frontend und Strapi Backend.
Diese Docker-basierte Lösung bietet:
- Strapi CMS mit vorkonfigurierten Inhalten
- Next.js Frontend mit Server-Side Rendering
- Nginx Reverse Proxy für optimales Routing
- Sidecar-Proxy für korrekte Bildverarbeitung
- Vollständige Infrastruktur-Lösung ohne Code-Änderungen
- Docker und Docker Compose installiert
- Git
- Mindestens 4GB freier RAM
- Ports 3333 und 1338 müssen frei sein
git clone [dein-repository-url]
cd LaunchPadErstelle die benötigten .env Dateien:
# Strapi .env
cp ./strapi/.env.example ./strapi/.env
# Next.js .env
cp ./next/.env.example ./next/.envDie Umgebungsvariablen sind bereits für Docker vorkonfiguriert und müssen normalerweise nicht angepasst werden.
docker-compose up -dBeim ersten Start werden die Docker Images gebaut, was einige Minuten dauern kann.
Nach dem Start sind folgende Services verfügbar:
- Website: http://localhost:3333
- Strapi Admin Panel: http://localhost:3333/admin
- Strapi API: http://localhost:3333/api
-
nginx (Port 3333)
- Reverse Proxy für alle Services
- URL-Rewriting für Bildpfade
- Load Balancing zwischen Services
-
strapi (intern Port 1337, extern Port 1338)
- Headless CMS
- SQLite Datenbank
- Media Library für Uploads
-
nextjs (intern Port 3000)
- React Frontend mit SSR
- Internationalisierung (en/fr)
- Image Optimization
-
nextjs-proxy (Sidecar)
- Löst localhost-Referenzen innerhalb des Next.js Containers auf
- Ermöglicht korrekte Bildverarbeitung
Alle Services nutzen ein gemeinsames Docker-Netzwerk (launchpad) mit festen IP-Adressen:
- nginx: 172.20.0.2
- strapi: 172.20.0.10
- nextjs: 172.20.0.11
Die Hauptkonfiguration mit allen Services und deren Abhängigkeiten.
Nginx-Konfiguration mit:
- Upstream-Definitionen für Strapi und Next.js
- URL-Rewriting für
/api/uploads/→/uploads/ - Proxy-Einstellungen für alle Routen
strapi/Dockerfile: Multi-stage Build für Strapinext/Dockerfile: Multi-stage Build für Next.js mit Build-Zeit-Variablen
# Alle Logs
docker-compose logs -f
# Spezifischer Service
docker-compose logs -f nextjs# Einzelner Service
docker-compose restart nextjs
# Alle Services
docker-compose down && docker-compose up -d# Strapi-Datenbank löschen und neu initialisieren
rm -rf strapi/.tmp
docker-compose restart strapi- Locale-Routing: Die Anwendung leitet automatisch auf die erkannte Sprache weiter (z.B.
/enoder/fr) - Bilder: Werden über Next.js Image Optimization verarbeitet
- Persistenz: Strapi-Uploads und Datenbank werden in lokalen Volumes gespeichert
- Performance: Beim ersten Laden kann es etwas dauern, bis alle Services bereit sind
- Next.js: Änderungen in
./nexterfordern einen Container-Neustart - Strapi: Änderungen in
./strapiwerden automatisch erkannt (Development-Modus)
Nach dem Hinzufügen neuer npm/yarn Dependencies:
# Image neu bauen
docker-compose build [service-name]
# Container neu starten
docker-compose up -d [service-name]Für Produktionsumgebungen:
- Umgebungsvariablen anpassen (insbesondere Secrets und URLs)
NODE_ENV=productionsetzen- Externe Datenbank verwenden (statt SQLite)
- SSL/TLS-Zertifikate konfigurieren
- Backup-Strategie implementieren
Dieses Projekt basiert auf dem offiziellen Strapi LaunchPad Demo.
Siehe Original-Repository für Lizenzinformationen.
