Falls es dich interessiert: Hier ist der komplette Stack hinter docs.ambroseo.de. Keine Geheimnisse.
Frontend: Astro
Das Frontend läuft mit Astro im SSR-Modus (Server-Side Rendering). Astro rendert jede Seite auf dem Server und liefert fertiges HTML aus. Kein React, kein Vue, kein Client-Side-Framework. Die Seite ist dadurch extrem schnell.
Styling macht Tailwind CSS. Nichts Besonderes, funktioniert einfach.
Backend: Laravel
Die Inhalte liegen in einer PostgreSQL-Datenbank und werden über eine Laravel REST-API ausgeliefert. Das Admin-Panel zum Schreiben und Verwalten der Docs ist Filament - ein Admin-Framework für Laravel.
Warum nicht einfach Markdown-Dateien? Weil wir PostgreSQL Full-Text-Search nutzen wollen. Die Suche läuft komplett über die Datenbank mit deutscher Stemming-Unterstützung. Kein Algolia, kein ElasticSearch, kein externer Service.
Infrastruktur
Alles läuft in Docker-Containern auf einem Hetzner VPS:
- Astro (Node.js) für das Frontend
- Laravel (PHP-FPM) für die API
- Nginx als Reverse Proxy intern
- Traefik als Edge-Router mit automatischem SSL
- PostgreSQL für die Daten
- Redis für Sessions und Cache
Ein docker compose up und alles läuft. Kein Kubernetes, kein Cloud-Provider-Lock-in.
Kundendokumentation
Neben den öffentlichen Docs gibt es einen geschützten Bereich für Kunden. Nach Projektübergabe bekommt jeder Kunde dort eine eigene Dokumentation - zugeschnitten auf sein Projekt. Login läuft über das gleiche System wie das Kundenportal auf ambroseo.de.