From e9fa87f5a947e1f6d9e48c93cd358fd7384f27b4 Mon Sep 17 00:00:00 2001 From: ATLAS Deploy Date: Tue, 7 Jul 2026 21:18:12 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20vollst=C3=A4ndige=20Betriebsdokumentati?= =?UTF-8?q?on=20(DEPLOYMENT.md)=20+=20deploy.sh=20fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DEPLOYMENT.md | 170 ++++++++++++++++++++++++++++++++++++++++++++++++++ deploy.sh | 2 +- 2 files changed, 171 insertions(+), 1 deletion(-) create mode 100644 DEPLOYMENT.md diff --git a/DEPLOYMENT.md b/DEPLOYMENT.md new file mode 100644 index 0000000..ab4635a --- /dev/null +++ b/DEPLOYMENT.md @@ -0,0 +1,170 @@ +# 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). diff --git a/deploy.sh b/deploy.sh index 840bb8b..d29739b 100755 --- a/deploy.sh +++ b/deploy.sh @@ -80,7 +80,7 @@ cd "\$REPO_DIR" # Dependencies & Build echo "📦 pnpm install..." -pnpm install --frozen-lockfile 2>&1 | tail -3 +pnpm install 2>&1 | tail -3 echo "🔨 pnpm build..." pnpm run build 2>&1 | tail -5