docs: clarify traffic architecture and ae_app vs ae_api scaling options
This commit is contained in:
32
README.md
32
README.md
@@ -2,6 +2,34 @@
|
||||
|
||||
This repository provides the unified Docker orchestration and configuration for the Aether Platform. It manages the lifecycle of the Aether API (FastAPI), Aether App (SvelteKit), and supporting infrastructure (MariaDB, Redis, Nginx).
|
||||
|
||||
## 🌐 Traffic Architecture
|
||||
|
||||
Understanding this prevents configuration mistakes.
|
||||
|
||||
```
|
||||
External Internet
|
||||
↓
|
||||
Home Server Nginx (reverse proxy)
|
||||
↓ ↓
|
||||
workstation:443 workstation:5060
|
||||
(ae_web_dev HTTPS) (ae_web_dev API gateway)
|
||||
↓ ↓
|
||||
svelte_backend fastapi_backend
|
||||
(Docker DNS) (Docker DNS)
|
||||
↓ ↓
|
||||
ae_app replicas ae_api replicas
|
||||
(round-robin) (round-robin)
|
||||
```
|
||||
|
||||
**Both ae_app and ae_api can scale via Docker DNS round-robin** when home server
|
||||
nginx routes through `ae_web_dev`. This is the recommended topology.
|
||||
|
||||
Alternatively, ae_app can be reached directly via host port range (`3001-3006`),
|
||||
but this requires manually updating the home server nginx upstream for each replica.
|
||||
See the Scaling section in CHEATSHEET.md.
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Quick Start
|
||||
|
||||
### 1. Initialize Directory Structure
|
||||
@@ -18,7 +46,7 @@ Copy the template and update it with your local paths and credentials:
|
||||
cd /srv/env/aether/container_env
|
||||
cp env.default .env
|
||||
# Edit .env to match your host system (Paths, DB, Ports)
|
||||
vim .env
|
||||
vim .env
|
||||
```
|
||||
|
||||
### 3. Configure Data & Source Paths
|
||||
@@ -66,7 +94,7 @@ These scripts are located in the root directory:
|
||||
|
||||
* **`./backup_db.sh`**: Triggers an immediate hot backup. Results are stored in `backups/`.
|
||||
* **`./export_db.sh`**: Creates a "Conference Ready" backup in `backups/conference_export/` with host-user ownership.
|
||||
* **`./restore_db.sh [backup_file.gz]`**: Performs a full "Clean Slate" restoration.
|
||||
* **`./restore_db.sh [backup_file.gz]`**: Performs a full "Clean Slate" restoration.
|
||||
* *Warning:* This stops MariaDB, archives current data, and resets `root` passwords to match your `.env`.
|
||||
* **`./check_and_import.sh`**: A watchdog script that monitors `backups/import/` for new snapshots and triggers automated restoration.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user