Diese Case Study beschreibt den Aufbau und Betrieb meines eigenen Portfolios von 10+ digitalen Produkten.
Die Ausgangslage
Als Software-Architekt wollte ich nicht nur Kunden beraten, sondern eigene digitale Produkte betreiben. Ziel war es, ein Portfolio aus 10+ Domains aufzubauen, ohne 10x Verwaltungsaufwand zu haben.
Die Herausforderung
- 10 verschiedene Domains - Von Ratgebern bis zu SaaS-Tools
- Unterschiedliche Stacks - Laravel, Astro, Vue.js
- Minimales Budget - Hosting-Kosten unter 50€/Monat
- Minimale Wartung - Automatisierte Deployments & Updates
- Einheitliches Monitoring - Sofortige Alerts bei Problemen
Die Infrastruktur-Strategie
Statt für jedes Projekt einen eigenen Server oder Managed Hosting zu mieten, entschied ich mich für einen zentralisierten Docker-Swarm-ähnlichen Ansatz auf Hetzner Cloud Servern.
Architektur-Entscheidungen
- Einheitlicher Entry-Point - Ein Traefik Reverse Proxy für alle Domains
- Containerization - Alles läuft in Docker Containern
- Infrastructure as Code - Ansible für Server-Provisionierung
- GitHub Actions - CI/CD für Zero-Downtime Deployments
Der Tech-Stack
1. Hosting & Server
Ich nutze Hetzner Cloud. Preis-Leistung ist unschlagbar. Ein CPX31 (4 vCPU, 8GB RAM) für ca. 15€/Monat trägt problemlos alle 10 Projekte, da viele davon statisch (Astro) oder stark gecacht (Laravel) sind.
2. Routing & SSL
Traefik ist das Herzstück. Es erkennt automatisch neue Docker-Container und generiert SSL-Zertifikate via Let's Encrypt.
labels:
- "traefik.enable=true"
- "traefik.http.routers.app.rule=Host(`zug-ticket-kaufen.de`)"
- "traefik.http.routers.app.tls.certresolver=myresolver"
3. Deployment
Jedes Projekt hat eine GitHub Action. Bei Push auf `main`:
- Build Docker Image
- Push to Registry
- SSH auf Server -> `docker service update`
Das Portfolio im Überblick
Hier sind einige der Projekte, die auf dieser Infrastruktur laufen:
Content / Ratgeber (Astro)
Applikationen (Laravel)
Die Ergebnisse
Effizienz-Gewinne
Durch die Standardisierung benötige ich ca. 1 Stunde pro Monat für Wartung (OS-Updates, Docker-Updates).
Key Learnings
Was gut funktioniert
- Astro für Content: Statische Seiten verbrauchen quasi 0 Ressourcen.
- Traefik: Einmal konfiguriert, nie wieder angefasst.
- SQLite für kleine Apps: Oft braucht man kein MySQL-Monster.
Skalierbare Architektur gesucht?
Als Fractional Tech Lead unterstütze ich Sie dabei, Ihre Infrastruktur effizient und kostengünstig aufzustellen.