170 lines
5 KiB
Markdown
170 lines
5 KiB
Markdown
# ATLAS Social Command Center — Betriebsdokumentation
|
|
|
|
> **Für zukünftige Agenten und Entwickler:** Dieses Dokument beschreibt die vollständige Infrastruktur, den Deploy-Prozess und alle wichtigen Informationen zum Betrieb der App.
|
|
|
|
---
|
|
|
|
## Übersicht
|
|
|
|
| Eigenschaft | Wert |
|
|
|---|---|
|
|
| **App** | ATLAS Social Command Center |
|
|
| **URL** | https://social.atlas-os.ai |
|
|
| **Typ** | React SPA (statisch, kein Backend) |
|
|
| **Deploy-Ziel** | VPS3 — Nginx serviert `/var/www/social` |
|
|
| **Code-Repo** | Forgejo auf VPS4 → `hiss/atlas-social-command-center` |
|
|
|
|
---
|
|
|
|
## Infrastruktur
|
|
|
|
```
|
|
[Entwickler/Agent]
|
|
│
|
|
├─ SSH-Tunnel ──► VPS4 (217.154.249.52)
|
|
│ └── Forgejo :3000 (intern)
|
|
│ └── hiss/atlas-social-command-center
|
|
│
|
|
└─ SSH ──────────► VPS3 (82.165.139.249)
|
|
├── /opt/atlas-social-command-center (Repo-Clone)
|
|
├── /var/www/social (Webroot)
|
|
└── Nginx → social.atlas-os.ai (SSL)
|
|
```
|
|
|
|
---
|
|
|
|
## Deploy-Prozess
|
|
|
|
### Schnell-Deploy (empfohlen)
|
|
|
|
```bash
|
|
./deploy.sh
|
|
```
|
|
|
|
Das Script:
|
|
1. Pusht lokale Änderungen auf Forgejo (VPS4)
|
|
2. Verbindet sich per SSH auf VPS3
|
|
3. Führt `git pull`, `pnpm install`, `pnpm build` aus
|
|
4. Kopiert den Build nach `/var/www/social`
|
|
|
|
### Manueller Deploy auf VPS3
|
|
|
|
```bash
|
|
ssh root@82.165.139.249 # Passwort: Atlas68!
|
|
|
|
cd /opt/atlas-social-command-center
|
|
|
|
# SSH-Tunnel zu Forgejo aufbauen
|
|
sshpass -p 'Atlas68!' ssh -o StrictHostKeyChecking=no -f -N \
|
|
-L 3002:127.0.0.1:3000 root@217.154.249.52
|
|
sleep 2
|
|
|
|
# Code holen
|
|
git remote set-url origin "http://hiss:TOKEN@localhost:3002/hiss/atlas-social-command-center.git"
|
|
git pull
|
|
|
|
# Bauen
|
|
pnpm install
|
|
pnpm run build
|
|
|
|
# Webroot aktualisieren
|
|
rm -rf /var/www/social/*
|
|
cp -r dist/public/. /var/www/social/
|
|
```
|
|
|
|
---
|
|
|
|
## Zugangsdaten
|
|
|
|
| Dienst | Host | Benutzer | Passwort |
|
|
|---|---|---|---|
|
|
| VPS3 SSH | 82.165.139.249 | root | Atlas68! |
|
|
| VPS4 SSH | 217.154.249.52 | root | Atlas68! |
|
|
| Forgejo | VPS4:3000 (intern) | hiss | AtlasOS68! |
|
|
| Forgejo API Token | — | — | e90510e84c652430b6e07b771d0cb66b8ce6d075 |
|
|
|
|
---
|
|
|
|
## Nginx-Konfiguration (VPS3)
|
|
|
|
Datei: `/etc/nginx/sites-available/social.atlas-os.ai`
|
|
|
|
```nginx
|
|
server {
|
|
listen 443 ssl;
|
|
server_name social.atlas-os.ai;
|
|
ssl_certificate /etc/letsencrypt/live/social.atlas-os.ai/fullchain.pem;
|
|
ssl_certificate_key /etc/letsencrypt/live/social.atlas-os.ai/privkey.pem;
|
|
root /var/www/social;
|
|
index index.html;
|
|
location / {
|
|
try_files $uri $uri/ /index.html; # SPA-Routing
|
|
}
|
|
location /assets/ {
|
|
expires 1y;
|
|
add_header Cache-Control "public, immutable";
|
|
}
|
|
}
|
|
```
|
|
|
|
**Wichtig:** `try_files $uri $uri/ /index.html` ist entscheidend für React-Router — alle Routen müssen auf `index.html` fallen.
|
|
|
|
---
|
|
|
|
## Nach einem VPS3-Reboot
|
|
|
|
Nginx startet automatisch (systemd). Kein manueller Eingriff nötig. Die statischen Dateien in `/var/www/social` bleiben erhalten.
|
|
|
|
```bash
|
|
# Status prüfen
|
|
systemctl status nginx
|
|
|
|
# Nginx neu starten (falls nötig)
|
|
systemctl restart nginx
|
|
```
|
|
|
|
---
|
|
|
|
## Design-Referenzen
|
|
|
|
Die Original-Design-Mockups liegen unter `docs/design-references/`:
|
|
|
|
| Datei | Inhalt |
|
|
|---|---|
|
|
| `screen-war-room.png` | War Room — KPI-Bar, Signal Cards, Content Pipeline |
|
|
| `screen-signale.png` | Signale — Cards mit Potenzial-Score |
|
|
| `screen-draft-studio.png` | Draft Studio — Editor + Multi-Platform-Vorschau |
|
|
| `screen-kalender.png` | Kalender & Freigaben — Wochenkalender |
|
|
| `screen-freigaben.png` | Freigaben — Queue-Tabelle, Audit-Verlauf |
|
|
| `screen-kampagnen.png` | Kampagnen — Cards, Timeline |
|
|
| `screen-produkte.png` | Produkte — Tabelle mit Content-Score |
|
|
| `screen-analytics.png` | Analytics — Charts, Performance-Funnel |
|
|
| `screen-einstellungen.png` | Einstellungen — Kanäle, API, UTM |
|
|
| `atlas-logo-full.png` | ATLAS OS Logo mit Text |
|
|
| `atlas-logo-symbol.png` | ATLAS OS Logo ohne Text |
|
|
|
|
**Design-Prinzipien:** Deep Space Navy (`#0a0f1e`), Cyan-Glow (`#00a3ff`), Space Grotesk + DM Sans, Bloomberg-Terminal-Dichte, 3D-Pyramiden-Logo.
|
|
|
|
---
|
|
|
|
## Tech-Stack
|
|
|
|
| Technologie | Version | Zweck |
|
|
|---|---|---|
|
|
| React | 19 | UI-Framework |
|
|
| TypeScript | 5.6 | Typsicherheit |
|
|
| Vite | 7 | Build-Tool |
|
|
| Tailwind CSS | 4 | Styling |
|
|
| Recharts | 2 | Charts (Analytics) |
|
|
| Framer Motion | 12 | Animationen |
|
|
| Three.js + @react-three/fiber | 0.185 | 3D-Logo |
|
|
| Wouter | 3 | Client-seitiges Routing |
|
|
| shadcn/ui | — | UI-Komponenten |
|
|
|
|
---
|
|
|
|
## Bekannte Einschränkungen
|
|
|
|
- **Kein Backend:** Die App ist rein statisch. Alle Daten sind Mock-Daten. Für echte Postiz-Integration muss ein Backend ergänzt werden.
|
|
- **Postiz läuft separat:** Postiz ist unter `postiz.atlas-os.ai` erreichbar (VPS3, Port 3500). Es ist vollständig unabhängig von dieser App.
|
|
- **Forgejo nur intern:** Forgejo ist nur über SSH-Tunnel erreichbar (VPS4:3000 intern). Von außen über `git.atlas-os.ai` (Nginx-Proxy auf VPS4).
|