PalveronPalveronDocs

Docker Compose

Auf einem einzelnen Server mit Docker Compose deployen.

Einzelserver-Deployments nutzen die auditierte Produktions-Compose-Datei im Gateway-Repository — denselben Stack, der palveron.com betreibt. Sie baut die Images aus dem Quellcode und erwartet ein verwaltetes PostgreSQL (Supabase empfohlen); die Datenbank ist bewusst nicht Teil des Stacks.

Schnellstart

git clone https://github.com/palveron/gateway.git
git clone https://github.com/palveron/platform.git /opt/palveron/platform
cd gateway

cp .env.production.example .env.production
# Ausfüllen: DATABASE_URL, die drei Verschlüsselungs-Keys
# (TRACE_ENCRYPTION_ROOT_KEY / FLARE_ENCRYPTION_KEY / DLQ_ENCRYPTION_KEY —
# erzeugen mit `openssl rand -base64 32`), INTERNAL_PROXY_SECRET,
# Kinde-Zugangsdaten und Ihre öffentlichen URLs. Diese Datei nie committen.

docker compose -f docker/docker-compose.production.yml \
  --env-file .env.production up -d

Dienste

DienstPortBeschreibung
gateway8080 (intern)Rust Policy Engine + Verify-Pipeline
platform3000 (intern)Next.js-Dashboard
docs3001 (Loopback)Dokumentations-Site
redisinternOptionaler Cache — das Gateway läuft ohne kontrolliert weiter
nginx80/443Reverse Proxy / TLS-Terminierung
PostgreSQLExtern — verwaltete Datenbank via DATABASE_URL

Das Datenbank-Schema initialisiert sich beim ersten Start — das Gateway appliziert seine mitgelieferten SQLx-Migrationen (Schema-Baseline + Seed) gegen die leere Datenbank. Kein manueller SQL-Schritt nötig.

Health-Checks

curl http://localhost:8080/health      # Gateway-Liveness (Prozess lebt)
curl http://localhost:8080/ready       # Gateway-Readiness (Postgres erreichbar)
curl http://localhost:3000/api/health  # Dashboard

Produktions-Checkliste

  • RUST_ENV=production setzen (die Compose-Datei tut das) — es schärft die Verschlüsselungs-Boot-Gates; ohne die drei Keys startet das Gateway nicht.
  • Die Verschlüsselungs-Keys sofort im Passwort-Manager sichern.
  • DATABASE_URL auf verwaltetes PostgreSQL zeigen lassen und das Client-Limit Ihres Poolers beachten.
  • Für Flare-Anchoring FLARE_PRIVATE_KEY und die per-Netzwerk-Contract- Adressen gemäß der Blockchain-Anleitung setzen.

Für Kubernetes-Deployments nutzen Sie das Helm-Chart — siehe die Helm-Anleitung.

On this page