Bereitstellung
Docker Compose (Empfohlen)
Abschnitt betitelt „Docker Compose (Empfohlen)“Das generierte Projekt enthält eine Dockerfile und eine docker-compose.yml. Dies ist der einfachste Weg zur Bereitstellung:
services: postgres: image: postgres:16-alpine environment: POSTGRES_USER: rebase POSTGRES_PASSWORD: rebase POSTGRES_DB: rebase volumes: - pgdata:/var/lib/postgresql/data ports: - "5432:5432"
app: build: ./backend ports: - "3001:3001" environment: DATABASE_URL: postgresql://rebase:rebase@postgres:5432/rebase JWT_SECRET: ${JWT_SECRET} NODE_ENV: production depends_on: - postgres volumes: - uploads:/app/uploads
volumes: pgdata: uploads:docker compose up -dProduktions-Checkliste
Abschnitt betitelt „Produktions-Checkliste“Stellen Sie vor der Bereitstellung in der Produktion sicher:
| Punkt | Details |
|---|---|
| JWT_SECRET | Verwenden Sie einen kryptografisch starken Zufallsstring (≥ 32 Zeichen). Niemals über Umgebungen hinweg wiederverwenden. |
| DATABASE_URL | Verwenden Sie eine verwaltete Postgres-Instanz (Neon, Supabase, RDS) mit aktiviertem TLS |
| CORS | Konfigurieren Sie erlaubte Ursprünge in Ihrem Backend, wenn Frontend und Backend auf unterschiedlichen Domains liegen |
| Speichervolumes | Hängen Sie persistente Volumes für Dateiuploads ein. Oder wechseln Sie für die Produktion zu S3. |
| HTTPS | Beenden Sie TLS an Ihrem Reverse-Proxy (nginx, Cloudflare, Load Balancer) |
| Registrierung | Setzen Sie ALLOW_REGISTRATION=false, nachdem Sie Ihr Admin-Konto erstellt haben |
Bereitstellung des Frontends
Abschnitt betitelt „Bereitstellung des Frontends“In der Produktion kann das Backend das Frontend als statische SPA bereitstellen:
import { serveSPA } from "@rebasepro/server-core";
// After initializeRebaseBackend()import path from "path";
// After initializeRebaseBackend()serveSPA(app, { frontendPath: path.resolve(process.cwd(), "../frontend/dist") });Erstellen Sie zuerst das Frontend:
cd frontend && pnpm buildAuf diese Weise müssen Sie nur einen Server bereitstellen, der sowohl SPA als auch API verwaltet.
Cloud-Plattformen
Abschnitt betitelt „Cloud-Plattformen“Railway / Render / Fly.io
Abschnitt betitelt „Railway / Render / Fly.io“- Pushen Sie Ihren Code in ein Git-Repository
- Verbinden Sie das Repository mit Ihrer Cloud-Plattform
- Legen Sie Umgebungsvariablen fest (
DATABASE_URL,JWT_SECRET, etc.) - Die enthaltene
Dockerfilewird automatisch erkannt
Google Cloud Run
Abschnitt betitelt „Google Cloud Run“# Build the containerdocker build -t gcr.io/YOUR_PROJECT/rebase-backend ./backend
# Push to Container Registrydocker push gcr.io/YOUR_PROJECT/rebase-backend
# Deploygcloud run deploy rebase-backend \ --image gcr.io/YOUR_PROJECT/rebase-backend \ --set-env-vars DATABASE_URL=...,JWT_SECRET=... \ --allow-unauthenticatedÄndern der Basis-URL
Abschnitt betitelt „Ändern der Basis-URL“Wenn Sie Rebase unter einem Unterpfad (z. B. /admin) ausführen möchten:
Frontend — Aktualisieren Sie den basename des BrowserRouter:
<BrowserRouter basename="/admin"> <App /></BrowserRouter>Backend — Aktualisieren Sie den Basispfad:
await initializeRebaseBackend({ // ... basePath: "/admin/api"});Nächste Schritte
Abschnitt betitelt „Nächste Schritte“- Backend-Übersicht — Vollständige Backend-Konfiguration
- Speicherkonfiguration — S3-Setup für die Produktion