- Multi-stage Dockerfiles for API (NestJS) and Web (Next.js standalone) - docker-compose.prod.yml: full production stack (postgres, redis, keycloak, api, web) with optional Caddy/Let's Encrypt via --profile ssl - docker-compose.local.yml: identical local test stack, all ports exposed - docker/postgres/init.sql: auto-creates tos_app DB on first start - Caddyfile: reverse proxy for app domain + auth subdomain - install.sh: interactive installer (domain, SSL mode, secret generation) - NestJS SetupModule: @Public() endpoints for /setup/status, /setup/admin, /setup/branding, /setup/complete with setup-token guard - Web installer: 4-step flow (system check, admin creation, branding, complete) at /[locale]/setup/* with public middleware bypass - i18n: installer namespace added to de.json and en.json - CORS: x-setup-token header allowed in main.ts Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
17 lines
851 B
SQL
17 lines
851 B
SQL
-- =============================================================================
|
|
-- tOS PostgreSQL Initialisierung
|
|
-- =============================================================================
|
|
-- Diese Datei wird automatisch beim ersten Start des PostgreSQL-Containers
|
|
-- ausgefuehrt (via /docker-entrypoint-initdb.d/).
|
|
--
|
|
-- Keycloak verwendet die Standard-Datenbank "tos_db" (POSTGRES_DB).
|
|
-- Die Applikation (NestJS/Prisma) benoetigt eine separate Datenbank "tos_app",
|
|
-- um Datenisolation zwischen IAM und Geschaeftslogik sicherzustellen.
|
|
-- =============================================================================
|
|
|
|
-- Erstelle die Applikations-Datenbank (getrennt von Keycloaks tos_db)
|
|
CREATE DATABASE tos_app;
|
|
|
|
-- Stelle sicher, dass der Standard-User vollen Zugriff auf tos_app hat
|
|
GRANT ALL PRIVILEGES ON DATABASE tos_app TO tos_user;
|