docs: vollständige Betriebsdokumentation (DEPLOYMENT.md) + deploy.sh fix
This commit is contained in:
parent
e9916978d7
commit
e9fa87f5a9
2 changed files with 171 additions and 1 deletions
170
DEPLOYMENT.md
Normal file
170
DEPLOYMENT.md
Normal 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).
|
||||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue