docs: Quick Start Guide und README Update
Neue Datei:
- QUICK_START.md: 5-Schritte-Anleitung zur Registrierung (35 Min.)
- Datenbank einrichten
- n8n Credentials erstellen
- Workflows importieren
- Testen
- Frontend deployen
README.md Update:
- Dokumentations-Sektion hinzugefügt
- Links zu allen Guides
- Workflow-Ablauf visualisiert
- Trial-Management Timeline
- Status aktualisiert (Registrierung ✅)
Die Dokumentation ist jetzt komplett:
- Quick Start (35 Min.)
- Setup Guide (detailliert)
- Troubleshooting (10 häufige Probleme)
- 2 n8n Workflows (Import-fertig)
This commit is contained in:
337
QUICK_START.md
Normal file
337
QUICK_START.md
Normal file
@@ -0,0 +1,337 @@
|
|||||||
|
# 🚀 BotKonzept - Quick Start Guide
|
||||||
|
|
||||||
|
## In 5 Schritten zur funktionierenden Registrierung
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✅ Voraussetzungen
|
||||||
|
|
||||||
|
- [ ] n8n läuft auf `https://n8n.userman.de`
|
||||||
|
- [ ] PostgreSQL/Supabase Datenbank verfügbar
|
||||||
|
- [ ] PVE20 Proxmox Server erreichbar
|
||||||
|
- [ ] SMTP-Server oder Amazon SES konfiguriert
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📋 Schritt 1: Datenbank einrichten (5 Minuten)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Auf Ihrem PostgreSQL/Supabase Server
|
||||||
|
psql -U postgres -d botkonzept < sql/botkonzept_schema.sql
|
||||||
|
```
|
||||||
|
|
||||||
|
**Oder in Supabase Dashboard:**
|
||||||
|
1. SQL Editor öffnen
|
||||||
|
2. Inhalt von `sql/botkonzept_schema.sql` kopieren
|
||||||
|
3. Ausführen
|
||||||
|
|
||||||
|
**Prüfen:**
|
||||||
|
```sql
|
||||||
|
SELECT table_name FROM information_schema.tables
|
||||||
|
WHERE table_schema = 'public';
|
||||||
|
```
|
||||||
|
|
||||||
|
Sollte zeigen: `customers`, `instances`, `emails_sent`, `subscriptions`, `payments`, `usage_stats`, `audit_log`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔑 Schritt 2: n8n Credentials erstellen (10 Minuten)
|
||||||
|
|
||||||
|
### 2.1 PostgreSQL Credential
|
||||||
|
|
||||||
|
1. n8n → Credentials → **New Credential**
|
||||||
|
2. Typ: **Postgres**
|
||||||
|
3. Name: `Supabase Local`
|
||||||
|
4. Konfiguration:
|
||||||
|
```
|
||||||
|
Host: localhost (oder Ihr Supabase Host)
|
||||||
|
Port: 5432
|
||||||
|
Database: botkonzept
|
||||||
|
User: postgres
|
||||||
|
Password: [Ihr Passwort]
|
||||||
|
SSL: Enabled (für Supabase)
|
||||||
|
```
|
||||||
|
5. **Test** → **Save**
|
||||||
|
|
||||||
|
### 2.2 SSH Credential
|
||||||
|
|
||||||
|
**SSH Key generieren (falls noch nicht vorhanden):**
|
||||||
|
```bash
|
||||||
|
ssh-keygen -t ed25519 -C "n8n@botkonzept" -f ~/.ssh/n8n_pve20
|
||||||
|
ssh-copy-id -i ~/.ssh/n8n_pve20.pub root@192.168.45.20
|
||||||
|
```
|
||||||
|
|
||||||
|
**In n8n:**
|
||||||
|
1. Credentials → **New Credential**
|
||||||
|
2. Typ: **SSH (Private Key)**
|
||||||
|
3. Name: `PVE20`
|
||||||
|
4. Konfiguration:
|
||||||
|
```
|
||||||
|
Host: 192.168.45.20
|
||||||
|
Port: 22
|
||||||
|
Username: root
|
||||||
|
Private Key: [Inhalt von ~/.ssh/n8n_pve20]
|
||||||
|
```
|
||||||
|
5. **Save**
|
||||||
|
|
||||||
|
### 2.3 SMTP Credential
|
||||||
|
|
||||||
|
**Option A: Amazon SES**
|
||||||
|
1. Credentials → **New Credential**
|
||||||
|
2. Typ: **SMTP**
|
||||||
|
3. Name: `Postfix SES`
|
||||||
|
4. Konfiguration:
|
||||||
|
```
|
||||||
|
Host: email-smtp.eu-central-1.amazonaws.com
|
||||||
|
Port: 587
|
||||||
|
User: [SMTP Username]
|
||||||
|
Password: [SMTP Password]
|
||||||
|
From Email: noreply@botkonzept.de
|
||||||
|
```
|
||||||
|
5. **Save**
|
||||||
|
|
||||||
|
**Option B: Gmail (für Tests)**
|
||||||
|
```
|
||||||
|
Host: smtp.gmail.com
|
||||||
|
Port: 587
|
||||||
|
User: your-email@gmail.com
|
||||||
|
Password: [App-spezifisches Passwort]
|
||||||
|
From Email: your-email@gmail.com
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📥 Schritt 3: Workflows importieren (5 Minuten)
|
||||||
|
|
||||||
|
### 3.1 Customer Registration Workflow
|
||||||
|
|
||||||
|
1. n8n → **"+"** → **Import from File**
|
||||||
|
2. Datei wählen: `BotKonzept-Customer-Registration-Workflow.json`
|
||||||
|
3. **Import**
|
||||||
|
4. Workflow öffnen
|
||||||
|
5. **Jeden Node prüfen** und Credentials zuweisen:
|
||||||
|
- "Create Customer in DB" → `Supabase Local`
|
||||||
|
- "Create Customer Instance" → `PVE20`
|
||||||
|
- "Save Instance to DB" → `Supabase Local`
|
||||||
|
- "Send Welcome Email" → `Postfix SES`
|
||||||
|
- "Log Email Sent" → `Supabase Local`
|
||||||
|
6. **Save**
|
||||||
|
7. **Activate** (Toggle oben rechts)
|
||||||
|
|
||||||
|
### 3.2 Trial Management Workflow
|
||||||
|
|
||||||
|
1. Import: `BotKonzept-Trial-Management-Workflow.json`
|
||||||
|
2. Credentials zuweisen
|
||||||
|
3. **Save** → **Activate**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🧪 Schritt 4: Testen (10 Minuten)
|
||||||
|
|
||||||
|
### 4.1 Webhook-URL kopieren
|
||||||
|
|
||||||
|
1. Workflow "Customer Registration" öffnen
|
||||||
|
2. Node "Registration Webhook" klicken
|
||||||
|
3. **Production URL** kopieren
|
||||||
|
- Sollte sein: `https://n8n.userman.de/webhook/botkonzept-registration`
|
||||||
|
|
||||||
|
### 4.2 Frontend aktualisieren
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# customer-frontend/js/main.js
|
||||||
|
const CONFIG = {
|
||||||
|
WEBHOOK_URL: 'https://n8n.userman.de/webhook/botkonzept-registration',
|
||||||
|
// ...
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4.3 Test mit curl
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl -X POST https://n8n.userman.de/webhook/botkonzept-registration \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{
|
||||||
|
"firstName": "Max",
|
||||||
|
"lastName": "Test",
|
||||||
|
"email": "max.test@example.com",
|
||||||
|
"company": "Test GmbH"
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
|
**Erwartete Antwort:**
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"success": true,
|
||||||
|
"message": "Registrierung erfolgreich!",
|
||||||
|
"customerId": "...",
|
||||||
|
"instanceUrl": "https://sb-XXXXX.userman.de"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4.4 Prüfen
|
||||||
|
|
||||||
|
**Datenbank:**
|
||||||
|
```sql
|
||||||
|
SELECT * FROM customers ORDER BY created_at DESC LIMIT 1;
|
||||||
|
SELECT * FROM instances ORDER BY created_at DESC LIMIT 1;
|
||||||
|
```
|
||||||
|
|
||||||
|
**PVE20:**
|
||||||
|
```bash
|
||||||
|
pct list | grep sb-
|
||||||
|
```
|
||||||
|
|
||||||
|
**E-Mail:**
|
||||||
|
- Prüfen Sie Ihren Posteingang (max.test@example.com)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🌐 Schritt 5: Frontend deployen (5 Minuten)
|
||||||
|
|
||||||
|
### Option A: Lokaler Test
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd customer-frontend
|
||||||
|
python3 -m http.server 8000
|
||||||
|
```
|
||||||
|
|
||||||
|
Öffnen: `http://localhost:8000`
|
||||||
|
|
||||||
|
### Option B: Nginx
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Auf Ihrem Webserver
|
||||||
|
cp -r customer-frontend /var/www/botkonzept.de
|
||||||
|
|
||||||
|
# Nginx Config
|
||||||
|
cat > /etc/nginx/sites-available/botkonzept.de <<'EOF'
|
||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
server_name botkonzept.de www.botkonzept.de;
|
||||||
|
root /var/www/botkonzept.de;
|
||||||
|
index index.html;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
try_files $uri $uri/ =404;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
ln -s /etc/nginx/sites-available/botkonzept.de /etc/nginx/sites-enabled/
|
||||||
|
nginx -t
|
||||||
|
systemctl reload nginx
|
||||||
|
```
|
||||||
|
|
||||||
|
### Option C: Vercel/Netlify
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd customer-frontend
|
||||||
|
|
||||||
|
# Vercel
|
||||||
|
vercel deploy
|
||||||
|
|
||||||
|
# Netlify
|
||||||
|
netlify deploy
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✅ Fertig!
|
||||||
|
|
||||||
|
Ihre Registrierung ist jetzt live! 🎉
|
||||||
|
|
||||||
|
### Nächste Schritte:
|
||||||
|
|
||||||
|
1. **SSL-Zertifikat** für botkonzept.de einrichten
|
||||||
|
2. **DNS-Records** konfigurieren (SPF, DKIM, DMARC)
|
||||||
|
3. **Amazon SES** aus Sandbox-Modus holen
|
||||||
|
4. **Monitoring** einrichten
|
||||||
|
5. **Backup-Strategie** planen
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🆘 Probleme?
|
||||||
|
|
||||||
|
### Häufigste Fehler:
|
||||||
|
|
||||||
|
**1. "Credential not found"**
|
||||||
|
→ Prüfen Sie ob alle 3 Credentials erstellt sind
|
||||||
|
|
||||||
|
**2. "SSH connection failed"**
|
||||||
|
→ Prüfen Sie SSH Key: `ssh root@192.168.45.20`
|
||||||
|
|
||||||
|
**3. "Table does not exist"**
|
||||||
|
→ Führen Sie das Schema erneut aus
|
||||||
|
|
||||||
|
**4. "Email not sent"**
|
||||||
|
→ Prüfen Sie SMTP-Credentials und Absender-Verifizierung
|
||||||
|
|
||||||
|
### Detaillierte Hilfe:
|
||||||
|
|
||||||
|
- **Setup-Guide:** `REGISTRATION_SETUP_GUIDE.md`
|
||||||
|
- **Troubleshooting:** `REGISTRATION_TROUBLESHOOTING.md`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 Monitoring
|
||||||
|
|
||||||
|
### n8n Executions
|
||||||
|
|
||||||
|
```
|
||||||
|
n8n → Sidebar → Executions
|
||||||
|
Filter: "Failed" oder "Running"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Datenbank
|
||||||
|
|
||||||
|
```sql
|
||||||
|
-- Registrierungen heute
|
||||||
|
SELECT COUNT(*) FROM customers
|
||||||
|
WHERE DATE(created_at) = CURRENT_DATE;
|
||||||
|
|
||||||
|
-- Aktive Trials
|
||||||
|
SELECT COUNT(*) FROM customers
|
||||||
|
WHERE status = 'trial';
|
||||||
|
|
||||||
|
-- Letzte 5 Registrierungen
|
||||||
|
SELECT email, first_name, last_name, created_at
|
||||||
|
FROM customers
|
||||||
|
ORDER BY created_at DESC
|
||||||
|
LIMIT 5;
|
||||||
|
```
|
||||||
|
|
||||||
|
### Logs
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# n8n
|
||||||
|
docker logs -f n8n
|
||||||
|
|
||||||
|
# install.sh
|
||||||
|
tail -f /root/customer-installer/logs/install_*.log
|
||||||
|
|
||||||
|
# E-Mail (Postfix)
|
||||||
|
journalctl -u postfix -f
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 Checkliste
|
||||||
|
|
||||||
|
- [ ] Datenbank-Schema erstellt
|
||||||
|
- [ ] 3 Credentials in n8n angelegt
|
||||||
|
- [ ] 2 Workflows importiert und aktiviert
|
||||||
|
- [ ] Test-Registrierung erfolgreich
|
||||||
|
- [ ] E-Mail erhalten
|
||||||
|
- [ ] LXC-Container erstellt
|
||||||
|
- [ ] Frontend deployed
|
||||||
|
- [ ] DNS konfiguriert
|
||||||
|
- [ ] SSL-Zertifikat installiert
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Geschätzte Gesamtzeit:** 35 Minuten
|
||||||
|
|
||||||
|
**Support:** support@botkonzept.de
|
||||||
|
|
||||||
|
**Version:** 1.0.0
|
||||||
|
**Datum:** 26.01.2025
|
||||||
57
README.md
57
README.md
@@ -95,8 +95,63 @@ bash install.sh --storage local-zfs --bridge vmbr0 --ip dhcp --vlan 90
|
|||||||
## Status
|
## Status
|
||||||
|
|
||||||
✅ produktiv einsetzbar
|
✅ produktiv einsetzbar
|
||||||
|
✅ Benutzerregistrierung mit n8n Workflows
|
||||||
|
✅ Trial-Management mit automatischen E-Mails
|
||||||
🟡 Reverse Proxy Automatisierung ausgelagert
|
🟡 Reverse Proxy Automatisierung ausgelagert
|
||||||
🟡 Workflow & Credential Import separat
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📚 Dokumentation
|
||||||
|
|
||||||
|
### Schnellstart
|
||||||
|
- **[Quick Start Guide](QUICK_START.md)** - In 5 Schritten zur funktionierenden Registrierung (35 Min.)
|
||||||
|
|
||||||
|
### Detaillierte Guides
|
||||||
|
- **[Registration Setup Guide](REGISTRATION_SETUP_GUIDE.md)** - Kompletter Setup-Guide für Benutzerregistrierung
|
||||||
|
- **[Registration Troubleshooting](REGISTRATION_TROUBLESHOOTING.md)** - Lösungen für häufige Probleme
|
||||||
|
|
||||||
|
### n8n Workflows
|
||||||
|
- **[BotKonzept-Customer-Registration-Workflow.json](BotKonzept-Customer-Registration-Workflow.json)** - Automatische Kundenregistrierung
|
||||||
|
- **[BotKonzept-Trial-Management-Workflow.json](BotKonzept-Trial-Management-Workflow.json)** - Trial-Management mit E-Mail-Automation
|
||||||
|
|
||||||
|
### Weitere Dokumentation
|
||||||
|
- **[Deployment Checklist](DEPLOYMENT_CHECKLIST.md)** - Produktions-Deployment
|
||||||
|
- **[Credentials Management](CREDENTIALS_MANAGEMENT.md)** - Verwaltung von Zugangsdaten
|
||||||
|
- **[NGINX Proxy Setup](NGINX_PROXY_SETUP.md)** - Reverse Proxy Konfiguration
|
||||||
|
- **[Wiki](wiki/)** - Detaillierte technische Dokumentation
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚀 Benutzerregistrierung
|
||||||
|
|
||||||
|
### Workflow-Ablauf
|
||||||
|
|
||||||
|
```
|
||||||
|
1. Kunde registriert sich auf Website
|
||||||
|
↓
|
||||||
|
2. n8n Webhook empfängt Daten
|
||||||
|
↓
|
||||||
|
3. Validierung & Passwort-Generierung
|
||||||
|
↓
|
||||||
|
4. Kunde in Datenbank anlegen
|
||||||
|
↓
|
||||||
|
5. LXC-Container auf PVE20 erstellen
|
||||||
|
↓
|
||||||
|
6. Instanz-Daten speichern
|
||||||
|
↓
|
||||||
|
7. Willkommens-E-Mail senden
|
||||||
|
↓
|
||||||
|
8. Success-Response an Frontend
|
||||||
|
```
|
||||||
|
|
||||||
|
**Dauer:** 2-5 Minuten pro Registrierung
|
||||||
|
|
||||||
|
### Trial-Management
|
||||||
|
|
||||||
|
- **Tag 3:** 30% Rabatt-E-Mail (€34,30/Monat)
|
||||||
|
- **Tag 5:** 15% Rabatt-E-Mail (€41,65/Monat)
|
||||||
|
- **Tag 7:** Letzte Chance-E-Mail (€49/Monat)
|
||||||
|
- **Tag 8:** Instanz-Löschung + Goodbye-E-Mail
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user