atlas-social-command-center/DEPLOYMENT.md

5 KiB

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)

./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

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

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.

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