Coolify — Self-Hosting
Die App auf einer eigenen Coolify-Instanz deployen — genau so, wie dieser Kurs live gegangen ist.
Was ist Coolify?
Coolify ist eine selbst-gehostete Plattform (Open-Source-Alternative zu Heroku/Vercel). Du verbindest ein Git-Repo, Coolify baut daraus einen Container und betreibt ihn hinter einem Reverse-Proxy (Traefik) mit automatischem HTTPS via Let's Encrypt.
🛤️ Rails-Vergleich: Kamal / Heroku
Wenn du Rails schon mal mit Kamal oder Heroku deployed hast, ist der Ablauf vertraut: Repo verbinden, Container bauen, ENV setzen, Datenbank anhängen, Domain zeigen lassen.
# Vergleichbar mit Kamal/Heroku für Rails:
# - Git push / connect repo
# - Container bauen
# - ENV setzen (DATABASE_URL, SECRET_KEY_BASE, ...)
# - Managed Postgres anhängen
# - Domain + TLSDeployment in 5 Schritten
- Repo verbinden. Neue Application anlegen, das (private) Git-Repo per
Deploy-Key hinterlegen, Branch
main. - Build-Pack „Dockerfile". Coolify baut das
Dockerfileaus dem Repo. Exposed Port:3000. - Postgres anlegen. Im selben Projekt eine PostgreSQL-Datenbank-Ressource erstellen — Coolify gibt dir eine interne Connection-URL.
- Umgebungsvariablen setzen:
Environment Variables bash DATABASE_URL=postgres://user:pass@db-host:5432/devnotes SESSION_SECRET=<langer-zufallswert> ORIGIN=https://svelte.apps.tomcodes.de SEED_ON_START=true PORT=3000 - Domain + Deploy. FQDN
https://svelte.apps.tomcodes.deeintragen (TLS kommt automatisch), dann „Deploy". Der Entrypoint migriert die DB und startet den Server.
Worauf du achten musst
⚠️ Typische Stolpersteine
ORIGINmuss exakt der öffentlichen URL entsprechen — sonst lehnt SvelteKit POST/Form-Actions mit einem CSRF-Fehler ab.- Der Container muss auf dem Port lauschen, den Coolify exposed (hier 3000).
DATABASE_URLzeigt auf den internen Hostnamen der DB im Coolify-Netz, nicht auflocalhost.
Geschafft 🎉
Damit hast du den kompletten Weg zurückgelegt: von der ersten $state-Rune bis zur
live deployten, datenbankgestützten SvelteKit-App. Genau diese Seite, die du gerade liest, läuft
auf dem beschriebenen Setup.
💡 Das Wichtigste
- Coolify + Dockerfile-Build-Pack + Git-Repo = reproduzierbares Self-Hosting.
- Postgres als eigene Ressource, per
DATABASE_URLverbunden. - Traefik übernimmt Reverse-Proxy und automatisches HTTPS.
🎯 Probier es selbst
Öffne die live-Version dieses Kurses unter svelte.apps.tomcodes.de und registriere dort ein DevNotes-Konto — es läuft gegen das echte Postgres im Coolify-Netz.