Technisches Setup & Domains
Technisches Setup & Domains
Überblick über die Infrastruktur hinter lisa.expert. Zugangsdaten stehen nicht in diesem Buch - siehe Vault.
Server & Zugriff
- Produktionsserver: IONOS VPS XL, IP 87.106.51.21 (CloudPanel).
- Docroot:
/home/lisa/htdocs/lisa.expert, Ownerlisa:lisa. - Zugriff: nur über WireGuard + SSH.
- Weitere Server im Verbund: VPS M+ (82.165.121.110, Datenbanken), VPS S (85.215.215.96, n8n/Docker), All-Inkl (Mail).
Domains
| Domain | Zweck |
|---|---|
| lisa.expert | Hauptseite (NICHT hinter Cloudflare) |
| news.lisa.expert | Lisa-Listmonk-Instanz (Port 9096) |
| app.lisa.expert | geplant (Tenant-Umzug) |
| frühere Frontend-Domains | leiten im Frontend per 301 pfaderhaltend auf lisa.expert um |
Umleitungs-Detail: Die früheren Frontend-Domains - 301 https://lisa.expert$request_uri (Pfad bleibt erhalten, weil strukturgleiche Whitelabel-Kopien). /api/ und /.well-known bleiben ausgenommen - sie laufen weiter am geteilten Backend (Port 3021). Die alten Domains liegen hinter Cloudflare, lisa.expert nicht.
Backend-Prozesse (PM2)
| Prozess | Port | Rolle |
|---|---|---|
| Node-API (Haupt-Backend) | 3021 | zentrales Backend für lisa.expert (/api/-Standard), komplett auf Lisa umgebrandet |
| lisa-webinar | 3055 | isolierter Webinar-Service (/api/webinar/-Route) |
nginx (lisa.expert.conf)
try_files $uri $uri/ @reverse_proxyfür statische Seiten + Backend-Proxy.- 404-Seite:
proxy_intercept_errors on+error_page 404 /404.htmlnur im Proxy-Location - damit liefert lisa.expert die Lisa-gebrandete 404-Seite statt der Express-404 des Backends. Wichtig: ein separaterlocation /api/-Block ohne Fehler-Abfang, damit fehlgeschlagene API-Calls weiterhin JSON liefern (sonst bräche z. B. konto.html). - HSTS aktiv (
max-age=31536000; includeSubDomains). - SSL: Let's Encrypt, Auto-Renew eingerichtet.
Branding-Schicht (Website)
- PWA:
/icons/icon-*.png(8 Größen) + Apple-Größen + maskable-Icons, alle auslisa-favicon.jpgper ImageMagick erzeugt;manifest.jsonmit Name "Lisa - KI-Expertin für Neukunden",theme_color #a855f7,background_color #f5f3ff. - Logo-Lockup
bilder/lisa/lisa-logo.png, Faviconlisa-favicon.jpg, 17+ Lisa-Assets inbilder/lisa/. - Cache-Busting über
?v=...-Parameter bei Header/Footer/CSS (sonst liefern Browser/Cloudflare alte Versionen). - Cloudflare cached Bilder mit
max-age=14400- nach Logo-Tausch Hard-Refresh oder Cache-Buster.
Chatbots, Wissensdatenbank & mehr (Dienste)
- Chatbots via n8n: Lisa Kundenservice Chat (Kundenportal), Lisa Produktberater (Website-Widget), Telegram-Variante (t.me/lisaexperte_bot).
- Wissensdatenbank: PGVector (siehe Seite "Wissensdatenbank").
- Anrufprotokoll: ElevenLabs/Vapi.
Zahlungen (Stripe)
- Eigenes Lisa-Stripe-Konto (AT, EUR, netto) - getrennt vom Konto der Mutter-Marke.
- Konfiguration in
stripe-config.json-[mode].lisa.secret_key(nicht.env); der Live-Code initialisiert dafür eine zweite InstanzstripeLisa. - Marken-Routing per Host:
lisa.expert-Anfragen laufen aufs Lisa-Konto (MasterClass-create-intent, Abo-Checkouts, Embedded Checkout). - Sicherheits-Fallback: ohne gesetztes Lisa-Secret - automatisch Mutter-Konto (kein Regress).
- Webhook-Verarbeitung ist multi-account (Signatur gegen Mutter- dann Lisa-Secret, Objekt-Retrieval konto-bewusst).
Schutz & Sicherheit
- Cloudflare Turnstile: brand-gated nur für lisa.expert (Checkout, Kontakt, Newsletter-Signup, Trial, Partner-Bewerbung).
- Webhook-Signaturen und interne Identifier (z. B. der Signatur-Header, Session-Namen, Secrets) wurden beim Rebrand bewusst nicht umbenannt - Umbenennen würde Signaturprüfungen brechen.
- MasterClass-/Admin-Seiten: Zahlung bleibt bei der Mutter, nur die Seiten sind Lisa.
Wichtige nginx-Lehren (aus dem Betrieb)
- Niemals
location = /index.html { return 301 / }bei gesetzterindex index.html- das loopt (die index-Direktive löst / intern zu /index.html auf). Korrekt: auf$request_uriprüfen. - Versions-Bump-Regex immer an Datei-Endung + Quote ankern (
.style.css?v=), nie greedy überstyle.css- sonst korrumpiert.style.cssTextim Inline-JS und bricht ganze Scripts.