Tech-USP: Kumiko-Apps sind Standard-Bun-Container. Sie laufen wo ihr entscheidet: auf unserer Infrastruktur, auf eurer, oder auf einer abgeschotteten Box im Keller. Derselbe Code, dasselbe Datenmodell, dasselbe Änderungsprotokoll.
Sicht des Käufers: „Unser Compliance-Verantwortlicher will die Daten im eigenen Rechenzentrum, unsere Devs wollen schnelle Iteration, und unser CFO will wissen woher die Rechnung kommt.”
Drei Modi, eure Wahl
| Modus | Was es ist | Zielgruppe |
|---|---|---|
| Hosted | Wir betreiben es auf unserer EU-Infrastruktur. Klick → live in unter 2 Minuten. | Solo-Founder, Mittelstand ohne DevOps-Kapazität |
| Self-Host | Ihr betreibt es auf eurer Cloud (Hetzner, AWS-EU, eure Private-Cloud, Kubernetes). Wir liefern den Build, ihr deployt. | Mittelstand mit DevOps, Agenturen, Indie-Devs mit Kontroll-Wunsch |
| On-Prem | Ihr betreibt es im eigenen Rechenzentrum. Air-Gapped funktioniert auch. Null ausgehende Abhängigkeit zu uns. | Regulierte Branchen, öffentliche Auftraggeber, „grundsätzlich-nichts-rausgeben”-Unternehmen |
Modus-Wechsel später ist unkompliziert: gleiche Container, gleiches Datenbank-Format. Heute Hosted, nächstes Jahr Self-Host? Export, Deploy, DNS-Switch. Wir helfen.
EU-Hosting konkret
Bei der Hosted-Option laufen App und Datenbank auf Hetzner Cloud in eurer gewünschten EU-Region. Wählt selbst oder lasst uns wählen. Backups bleiben in EU-Storage. Wir nutzen Cloudflare für DNS und als vorgeschalteten Schutz gegen DDoS-Angriffe (Proxy), nicht als CDN.
Hosted in der EU, von der Datenbank bis zum Backup.
Für Self-Host und On-Prem entscheidet ihr das selbst. Das gilt für Region und Anbieter genauso wie für die Frage, ob überhaupt etwas euer Netzwerk verlässt.
Admin ohne offene Ports
Bei der Hosted-Option haben die Server auf denen eure App läuft keinen öffentlichen SSH-Port. Nicht firewall-zu, nicht hinter Fail2Ban, sondern gar nicht erreichbar. Admin-Zugang läuft über ein privates VPN auf das nur autorisierte Operatoren verbinden können.
Was das in der Praxis heißt:
- Brute-Force-Scans laufen gegen einen geschlossenen Port und prallen ab.
- Kompromittierung einer einzelnen Ops-Maschine gewährt keinen Zugang: VPN-Schlüssel sind pro-Operator.
- Audit-Logs zeigen wer sich wann verbunden hat, und jede Admin-Session ist nachvollziehbar.
Bei Self-Host entscheidet ihr eure Admin-Posture selbst. Wir dokumentieren denselben Aufbau, damit ihr ihn replizieren könnt wenn ihr wollt.
Was eingebaut ist
- Multi-Stage Build:
kumiko-buildproduziertdist/(Client) +dist-server/(~1 MB Server-Bundle), 7 native externals dokumentiert - Pre-Deploy-Migrate:
kumiko migrate applyals ephemeral container-step - Boot-Gate: fehlende Migrations oder Tabellen → Container beendet mit klarer Fehlermeldung. Kein stilles Auto-Heal in Production
- API/Worker-Mode-Split: App in Web-facing und Background-Job-Container splitten wenn Last es verlangt
- Per-Instance Consumer-Delivery: Caches bleiben über Replicas synchron ohne dass ihr die Klempnerei selbst legen müsst
Custom-Domain auf eure Bedingungen
Hosted-Apps laufen auf einer Default-URL unserer Plattform. Ab Pro-Tier bringt ihr eure eigene Domain mit (tools.acme.de, intern.muster-ag.de) und wir kümmern uns um das Zertifikat. Eure Kunden sehen eure Marke, nicht unsere.
Bei Self-Host und On-Prem ist die Domain was ihr auf die Box zeigt. Es gibt keine „Kumiko-gebrandete URL” irgendwo im Code.
Architektur-Tiefendoku
- lifecycle: Startup-Phasen, Graceful-Shutdown
Reference: samples/showcases/publicstatus/deploy/ (Dockerfile + docker-compose + GHA-Workflow).
Wo das im Pitch landet
- DACH-Mittelstand: „Daten bleiben bei euch, On-Prem ist ernst gemeint.” Das gilt in jedem Modus
- Indie-Hacker: Hosted zu vernünftigem Preis, oder Self-Host auf einer kleinen Hetzner-Box ab rund 10 €/Monat
- Regulierte Branchen: On-Prem mit null ausgehender Abhängigkeit