← Zurück zum Blog
· Uppcoder Team

Wo kann ich eine Django-App mit PostgreSQL kostenlos betreiben?

DjangoPostgreSQLHostingUppcoder

Kurze Antwort: im kostenlosen Plan von Uppcoder. Er betreibt eine Django-App mit einer PostgreSQL-Datenbank unter eigener HTTPS-Adresse, mit VS Code im Browser daneben, ohne Kreditkarte und ohne Zeitlimit. Django, Datenbank und Editor laufen in etwa einer Minute, und die Datenbank ist schon verbunden, wenn die App startet.

Worauf Sie bei jedem kostenlosen Django-Hosting achten sollten

Kostenlose Angebote unterscheiden sich in Dingen, die erst später auffallen. Prüfen Sie drei Punkte, bevor Sie ein Projekt dort ablegen:

  • Läuft die Datenbank ab? Manche kostenlosen Datenbanken werden nach einer festen Zahl von Tagen gelöscht.
  • Ist es ein Plan oder eine Testphase? Eine Testphase endet an einem Datum, ein kostenloser Plan läuft weiter.
  • Wird etwas gesichert? Bei kostenlosen Angeboten oft gar nichts.

Was der kostenlose Plan von Uppcoder enthält

  • 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, so steht es in den Nutzungsbedingungen
  • Eine eigene HTTPS-Adresse ab der ersten Minute
  • VS Code im Browser und ein Terminal im selben Container wie die App, oder SSH aus Ihrem eigenen Editor
  • Jede Nacht auf einem separaten Server gesichert, auch im kostenlosen Plan: eine Kopie von jedem der letzten sieben Tage und eine von jeder der letzten vier Wochen
  • Für die Server, auf denen die Apps laufen, gibt es eine öffentliche Statusseite

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: Django wählen, PostgreSQL hinzufügen. Die Datenbank wird automatisch mit der App verbunden. Auf der Django-Karte Admin-Benutzername, Passwort und E-Mail eintragen.
  3. Deploy. Unsere App lief nach 33 Sekunden.
  4. Etwa eine halbe Minute später hat Uppcoder den PostgreSQL-Treiber installiert, DATABASES auf die Datenbank gesetzt, migrate ausgeführt und Ihren Admin-Benutzer angelegt. Der Django-Admin läuft von Anfang an auf PostgreSQL.

Die Einstellungen lesen alles aus der Umgebung, kein Passwort steht im Code:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': os.environ['POSTGRES_DB'],
        'USER': os.environ['POSTGRES_USER'],
        'PASSWORD': os.environ['POSTGRES_PASSWORD'],
        'HOST': os.environ['POSTGRES_HOST'],
        'PORT': os.environ.get('POSTGRES_PORT', '5432'),
    }
}

Die ganze Anleitung mit einem Screenshot zu jedem Schritt (Englisch): Deploy a Django app with PostgreSQL, free.

Eigenen Code mitbringen

Fügen Sie die Adresse Ihres Repositorys auf der Django-Karte ein (GitHub, GitLab, Bitbucket oder jeder andere Git-Host, bei privaten Repositorys mit Token), und es wird in die App geklont; Pull holt später neue Commits. Wer mit etwas Funktionierendem beginnen will, nimmt den django-postgresql-starter auf GitHub: ein kleines Django-Projekt auf PostgreSQL, das seine Einstellungen aus der Umgebung liest.

Häufige Fragen

Ist es wirklich kostenlos oder eine Testphase? Ein kostenloser Plan ohne Zeitlimit, keine Testphase. Eine Kreditkarte wird nicht verlangt.

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

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 gute Alternative zu Heroku, Render oder Railway? Für eine kleine Django-App mit Datenbank ja: App, Datenbank und Editor an einem Ort, mit einem kostenlosen Plan, der nicht abläuft.

Verwandt: FastAPI-App mit PostgreSQL am günstigsten betreiben · Uppcoder: Software in der Cloud bauen, betreiben, lehren