Teil 30: Flask-App online stellen – kostenlos mit Render


🎯 Ziel dieses Teils

✅ Deine Flask-App läuft im Internet
✅ Andere können sie über eine URL aufrufen
✅ Du brauchst keinen eigenen Server
✅ Setup ist kostenlos & einfach (mit render.com)


Was du brauchst

  • Einen kostenlosen Account bei Render
  • Einen GitHub-Account (Render holt den Code von dort)
  • Deine App in einem GitHub-Repository (öffentlich oder privat)

Projekt vorbereiten für Deployment

Damit Render deine App erkennt, brauchst du ein paar Dinge:

1. requirements.txt

Hast du schon. Wenn nicht:

pip freeze > requirements.txt

Achte darauf, dass Flask enthalten ist.


2. Procfile (ohne Endung!)

Erstelle eine Datei namens:

Procfile

Inhalt:

web: gunicorn app:app

Das sagt Render: „Starte einen Web-Server mit deiner Flask-App“

Wichtig: Die Datei darf keine Endung haben! Kein .txt!


3. app.py anpassen für Deployment

Oben:

import os

Statt app.run(...):

if __name__ == "__main__":
    app.run(debug=False, host="0.0.0.0", port=int(os.environ.get("PORT", 5000)))

Das erlaubt Render, den richtigen Port zu verwenden

secret_key als Umgebungsvariable:

app.secret_key = os.environ.get("SECRET_KEY", "dev")

4. Datenbank (SQLite)

⚠️ Wichtig: SQLite ist lokal – sie funktioniert auf Render, aber:

  • Nur ein Benutzer gleichzeitig empfohlen
  • Daten gehen verloren bei Neustart → du brauchst bald PostgreSQL oder Datenbankanbindung

✅ Für kleine Tests ist SQLite okay – aber nicht für echte Multiuser-Anwendungen.


Schritt-für-Schritt: Deploy bei Render

1. Code auf GitHub hochladen

Dein Projekt sollte so aussehen:

todo-app/
├── app.py
├── db.sqlite             ← (nur für Tests)
├── requirements.txt
├── Procfile
├── static/
│   └── style.css
└── templates/
    ├── index.html
    ├── bearbeiten.html
    ├── login.html
    └── register.html

Dann:

  1. Neues Repository auf GitHub erstellen
  2. Projekt hochladen (per Git oder über GitHub Desktop)

2. Render.com einrichten

  1. Gehe auf https://render.com/
  2. Erstelle einen kostenlosen Account
  3. Klicke auf „New“ → „Web Service“
  4. Wähle dein GitHub-Repo aus
  5. Gib ein:
    • Name: z. B. todo-flask
    • Runtime: Python
    • Build Command: pip install -r requirements.txt
    • Start Command: gunicorn app:app
  6. Optional: Füge Umgebungsvariablen hinzu: KEY VALUE ------------ -------------------------- SECRET_KEY ein_geheimer_schluessel
  7. Klicke auf Create Web Service

✅ Render baut und startet deine App automatisch
⌛ Das dauert 1–2 Minuten


3. Fertig! 🎉

  • Du bekommst eine URL wie:
    https://todo-flask.onrender.com
  • Deine App ist jetzt öffentlich erreichbar

Was du jetzt kannst

ZielUmsetzung
App online stellenRender.com + GitHub
Startbefehl definierenProcfile mit gunicorn
Flask-Konfigurationos.environ + secret_key
Live-URL erzeugenÖffentlich erreichbar

Bonus-Tipps für echtes Deployment

  • 🗃️ Verwende PostgreSQL (Render bietet das an)
  • 🔒 Nutze HTTPS (Render macht das automatisch)
  • 🧪 Teste Sessions, Benutzer und Daten
  • 🌐 Verbinde eigene Domain

🔚 Glückwunsch: Du hast eine vollständige, saubere Flask-Web-App gebaut!

Von Teil 1 bis Teil 30 hast du gelernt:

  • ✅ Python-Grundlagen
  • ✅ Konsolen-App → Webserver → Webanwendung
  • ✅ HTML, CSS, Flask, Sessions
  • ✅ Sicherheit, Login, Benutzerverwaltung
  • ✅ Live-Deployment ohne eigenen Server

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert