Skip to main content

Portal

The Portal is the main web UI for this ecosystem (end-user apps + admin operations).

What it does

  • End-user access to apps (e.g. ThingsBoard) through a unified entrypoint.
  • Admin UI to manage users, roles, and subsystem synchronization.
  • Configuration of AI features (RAGs, MCP agents, LLM models) used by Chat UI / Chatbots.

Runtime configuration (important)

The Portal UI consumes generated runtime config (for example, subsystems.json). Do not edit versioned runtime JSON by hand.

See:

  • docs/internal/operations/configuration.md
  • docs/internal/operations/environments.md

Users and subsystems (admin)

User identity is managed in Zitadel. The Portal Admin UI reads user identity/roles from Zitadel and provides buttons to:

  • Check whether a user exists in ThingsBoard / Chatwoot
  • Create/sync users into those subsystems

Important: ThingsBoard OAuth bootstrap is still partially manual. See docs/internal/services/platform/thingsboard-zitadel.md.

  • ThingsBoard: docs/internal/services/platform/thingsboard.md
  • Chatwoot: docs/internal/services/platform/chatwoot.md
  • Zitadel: docs/internal/services/security/zitadel.md
  • RAG: docs/internal/technologies/rag.md
  • MCP: docs/internal/technologies/mcp.md
  • LLM models: docs/internal/technologies/llms.md