docs: vollständige Betriebsdokumentation (DEPLOYMENT.md) + deploy.sh fix

This commit is contained in:
ATLAS Deploy 2026-07-07 21:18:12 +00:00
parent e9916978d7
commit e9fa87f5a9
2 changed files with 171 additions and 1 deletions

170
DEPLOYMENT.md Normal file
View file

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

View file

@ -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