- **Frontend Service** (serving React frontend) - Communicates with backend APIs via HTTPS - Authenticates users via JWT tokens - **Messenger** - Handles real‑time messaging (WebSocket or long polling) - Stores message metadata in Postgres - Uses Redis for message caching - **CDN Service** (user uploaded media) - Receives uploads, stores files on object storage - Generates signed URLs with built in auth for secure access - **LLM Service** - Exposes language‑model inference API for scripts - Runs model in a containerized environment - Stores usage logs in Postgres - **Auth Service** (user authentication & authorization) - Validates credentials and issues JWTs - Manages refresh tokens and token revocation - Persists session state and audit logs in PostgreSQL - **Script Runner** - Executes user or system scripts on demand - Isolates execution in sandbox containers - Provides access to "Tables" - SQLite files kept in object storage - Persists logs to Postgres - **Redis Cache** - Provides distributed caching for session data and messages - **PostgreSQL Service** (with volumes) - Stores relational data: users, messages, media metadata, script logs - Uses Docker volume for persistent storage - Backed up via scheduled snapshots ```