38 lines
1.3 KiB
Markdown
38 lines
1.3 KiB
Markdown
- **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
|
||
```
|