Files
teOS/docker/postgres/init.sql
Flexomatic81 0e8d5aef85 feat: add Docker deployment, web installer, and local test environment
- 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>
2026-02-23 21:17:34 +01:00

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;