Python-App hosten
Liegt eine requirements.txt oder eine pyproject.toml im Repository, richtet Rechenhalle eine virtuelle Umgebung ein und installiert die Abhängigkeiten.
Startbefehl über das Procfile
Python-Projekte sagen selbst, wie sie gestartet werden. Dafür gibt es die Datei Procfile
im Wurzelverzeichnis:
web: gunicorn projekt.wsgi --bind 0.0.0.0:$PORT
Für FastAPI oder andere ASGI-Anwendungen:
web: uvicorn app:app --host 0.0.0.0 --port $PORTDjango: statische Dateien und Migrationen
Migrationen und das Einsammeln statischer Dateien gehören in den Start oder in eine zeitgesteuerte Aufgabe:
web: python manage.py migrate && python manage.py collectstatic --noinput && gunicorn projekt.wsgi --bind 0.0.0.0:$PORT
Beispiel: Flask
# app.py
from flask import Flask
app = Flask(__name__)
@app.get("/")
def start():
return "Läuft."
# Procfile
web: gunicorn app:app --bind 0.0.0.0:$PORT
# requirements.txt
flask
gunicornHäufige Fragen
Welche Python-Version läuft?
Die Version aus dem Basis-Image der Plattform. Wer eine bestimmte Version braucht, legt ein eigenes Dockerfile an – damit bestimmst du die Umgebung vollständig selbst.
Wie bekomme ich eine Datenbank?
Eine verwaltete PostgreSQL ist in Vorbereitung. Bis dahin lässt sich eine externe Datenbank über eine Umgebungsvariable anbinden.