Files
cameleer-saas/installer/CLAUDE.md
hsiegeln 132143c083
Some checks failed
CI / build (push) Successful in 1m59s
CI / docker (push) Successful in 1m24s
SonarQube Analysis / sonarqube (push) Failing after 2m4s
refactor: decompose CLAUDE.md into directory-scoped files
Root CLAUDE.md reduced from 475 to 175 lines (75 excl. GitNexus).
Detailed context now loads automatically only when editing code in
the relevant directory:

- provisioning/CLAUDE.md — env vars, provisioning flow, lifecycle
- config/CLAUDE.md — auth, scopes, JWT, OIDC role extraction
- docker/CLAUDE.md — routing, networks, bootstrap, deployment pipeline
- installer/CLAUDE.md — deployment modes, compose templates, env naming
- ui/CLAUDE.md — frontend files, sign-in UI

No information lost — everything moved, nothing deleted.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16 09:30:21 +02:00

1.9 KiB

Installer

Deployment Modes

The installer (installer/install.sh) supports two deployment modes:

Multi-tenant SaaS (DEPLOYMENT_MODE=saas) Standalone (DEPLOYMENT_MODE=standalone)
Containers traefik, postgres, clickhouse, logto, cameleer-saas traefik, postgres, clickhouse, server, server-ui
Auth Logto OIDC (SaaS admin + tenant users) Local auth (built-in admin, no identity provider)
Tenant management SaaS admin creates/manages tenants via UI Single server instance, no fleet management
PostgreSQL cameleer-postgres image (multi-DB init) Stock postgres:16-alpine (server creates schema via Flyway)
Use case Platform vendor managing multiple customers Single customer running the product directly

Standalone mode generates a simpler compose with the server running directly. No Logto, no SaaS management plane, no bootstrap. The admin logs in with local credentials at /.

Compose templates

The installer uses static docker-compose templates in installer/templates/. Templates are copied to the install directory and composed via COMPOSE_FILE in .env:

  • docker-compose.yml — shared infrastructure (traefik, postgres, clickhouse)
  • docker-compose.saas.yml — SaaS mode (logto, cameleer-saas)
  • docker-compose.server.yml — standalone mode (server, server-ui)
  • docker-compose.tls.yml — overlay: custom TLS cert volume
  • docker-compose.monitoring.yml — overlay: external monitoring network

Env var naming convention

  • CAMELEER_AGENT_* — agent config (consumed by the Java agent)
  • CAMELEER_SERVER_* — server config (consumed by cameleer-server)
  • CAMELEER_SAAS_* — SaaS management plane config
  • CAMELEER_SAAS_PROVISIONING_* — "SaaS forwards this to provisioned tenant servers"
  • No prefix (e.g. POSTGRES_PASSWORD, PUBLIC_HOST) — shared infrastructure, consumed by multiple components