# 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).
