← Zurück zum Blog
· Uppcoder Team

Wie betreibe ich eine FastAPI-App mit PostgreSQL am günstigsten?

FastAPIPostgreSQLPythonHostingUppcoder

Kurze Antwort: kostenlos, im kostenlosen Plan von Uppcoder. Er betreibt eine FastAPI-App mit einer PostgreSQL-Datenbank unter eigener HTTPS-Adresse, ohne Kreditkarte und ohne Zeitlimit. Unsere App lief nach 39 Sekunden, mit installiertem Datenbanktreiber und der Verbindungszeichenkette in der Umgebung. Wächst das Projekt, beginnen bezahlte Pläne bei 5 € im Monat.

Was Sie kostenlos bekommen

  • Eine App mit einer Datenbank: 2 GB Arbeitsspeicher und 2 GB Speicherplatz
  • Keine Kreditkarte und kein Zeitlimit; wird der kostenlose Plan je geändert oder eingestellt, erfahren es alle Nutzer mindestens 60 Tage vorher per E-Mail
  • Eine eigene HTTPS-Adresse, mit der interaktiven API-Seite von FastAPI unter /docs
  • VS Code im Browser und ein Terminal neben der App, oder SSH aus Ihrem eigenen Editor
  • Jede Nacht auf einem separaten Server gesichert: eine Kopie von jedem der letzten sieben Tage und eine von jeder der letzten vier Wochen
  • Eine öffentliche Statusseite für die Server, auf denen die Apps laufen

Die Datenbank ist schon angebunden

Die App bekommt die ganze Verbindung als DATABASE_URL und die Teile als POSTGRES_HOST, POSTGRES_PORT, POSTGRES_DB, POSTGRES_USER und POSTGRES_PASSWORD, kein Passwort steht im Code. Der PostgreSQL-Treiber (psycopg) wird beim Start der App installiert. Aus PostgreSQL lesen sind ein paar Zeilen (die Anleitung hat das vollständige Beispiel, das wir auf einer frischen App ausgeführt haben):

import os
import psycopg
from fastapi import FastAPI

app = FastAPI()

@app.get("/notes")
def notes():  # liest die Tabelle notes, die das Beispiel der Anleitung anlegt
    with psycopg.connect(os.environ["DATABASE_URL"]) as conn:
        return conn.execute("select id, text from notes order by id").fetchall()

So funktioniert es

  1. Registrieren Sie sich auf portal.uppcoder.com und bestätigen Sie Ihre E-Mail; dann Billing, Spark, Start free.
  2. Einen Stack anlegen: FastAPI wählen, PostgreSQL hinzufügen und Benutzername und Passwort vergeben. Die Datenbank wird automatisch mit der App verbunden.
  3. Deploy. Die Starter-App antwortet unter ihrer eigenen Adresse, und /docs zeigt die API.
  4. main.py in VS Code öffnen und Ihre API schreiben; sie läuft unter derselben Adresse.

Die ganze Anleitung, mit einer kleinen Notizen-API, die ihre Tabelle selbst anlegt (Englisch): Deploy a FastAPI app with PostgreSQL, free. Wer mit einem Repository beginnen will, nimmt den fastapi-postgresql-starter auf GitHub und fügt dessen Adresse auf der FastAPI-Karte ein.

Häufige Fragen

Warum nicht einfach ein günstiger VPS? Ein VPS ist günstig, bis man die Zeit mitrechnet: PostgreSQL installieren, Reverse Proxy, Zertifikate, Updates und Backups. Hier ist das erledigt, und der kostenlose Plan kostet gar nichts.

Kann ich meine eigene Domain nutzen? Die eigene Domain gibt es in jedem bezahlten Plan, ab 5 € im Monat. Im kostenlosen Plan hat die App ihre eigene HTTPS-Adresse.

Wo läuft es? Auf unserer eigenen Infrastruktur, die sich auf die Region Ihrer Wahl beschränken lässt, etwa Europa oder die USA.

Ist es eine Alternative zu Render, Railway oder Heroku? Für eine kleine FastAPI-App mit Datenbank ja: App, Datenbank und Editor an einem Ort, mit einem kostenlosen Plan, der nicht abläuft.

Verwandt: Django-App mit PostgreSQL kostenlos betreiben · Uppcoder: Software in der Cloud bauen, betreiben, lehren