Deploy-Guide Frankfurt, Deutschland

Docker auf Nodion deployen

Liegt ein Dockerfile in deinem Repository, wählt Nodion die Strategie Dockerfile, baut das Image in Frankfurt und startet es als Web-Prozess deiner App. Multi-Stage-Builds, .dockerignore und Build Args funktionieren wie gewohnt, und fertige Images aus Docker Hub, GHCR oder einer privaten Registry laufen genauso.

Auf Nodion deployen ›

ab 1 EUR / Monat

Bis zu 15 € Guthaben beim Registrieren

Strategie
Dockerfile, vorausgewählt, wenn eins da ist
Port
Aus EXPOSE, keine PORT-Variable
Images
Git-Builds oder fertige Images
Region
EU Central (Frankfurt)

Docker Schritt für Schritt deployen

  1. Auf 0.0.0.0 lauschen und den Port per EXPOSE angeben Nodion baut dein Dockerfile so, wie es ist, und startet CMD oder ENTRYPOINT des Images. PORT setzt Nodion nicht: Dein Server lauscht auf allen Interfaces auf einem festen Port, und EXPOSE sagt dem Formular, welcher das ist. Multi-Stage-Builds funktionieren; es läuft die letzte Stage. Dockerfile
    FROM python:3.13-slim
    WORKDIR /app
    COPY requirements.txt .
    RUN pip install --no-cache-dir -r requirements.txt
    COPY . .
    EXPOSE 8000
    CMD ["gunicorn", "app:app", "--bind", "0.0.0.0:8000"]
  2. App anlegen Lege im Dashboard eine Application aus deinem GitHub-, GitLab-, Bitbucket- oder Gitea-Repository an, wähle Branch und Region EU Central. Liegt ein Dockerfile im Repository, wählt das Formular die Strategie Dockerfile und übernimmt den Port aus EXPOSE. In einem Monorepo setzt du das Base Directory (den Build-Kontext) und den Namen des Dockerfiles.
  3. Build-Werte als Build Args übergeben Variablen mit dem Häkchen Build auf dem Tab Environment kommen als Docker Build Args in den Build; deklarier sie mit ARG in der Stage, die sie liest. Alle anderen Variablen und angehängte Datenbanken wie DATABASE_URL gibt es erst, wenn der Container läuft. Dockerfile
    FROM node:24-slim AS build
    ARG VITE_API_URL
    WORKDIR /app
    COPY . .
    RUN npm ci && npm run build
  4. Migrationen einmal pro Deploy ausführen Am besten trägst du deinen Migrationsbefehl als Release Command der App ein: Er läuft bei jedem Deploy einmal aus dem neuen Image, bevor die neue Version startet, und scheitert er, stoppt der Deploy und die laufende Version bleibt live. Im Entrypoint oder Startbefehl geht es auch, dann migriert aber jede Instanz bei jedem Start. Den Release Command setzt du über das API-Feld release_command; im Dashboard erscheint das Feld in den App-Einstellungen derzeit erst, wenn Preview-Environments eingeschaltet sind.
  5. Pushen und deployen Jeder Push auf den Branch baut ein neues Image in Frankfurt. Der Traffic wechselt, sobald der Web-Prozess auf dem Health-Check-Pfad (Standard /) mit 2xx oder 3xx antwortet. Ein Docker-HEALTHCHECK im Image wird ignoriert.

Gut zu wissen

  • Keine PORT-VariableLiest dein Server PORT, setz die Variable selbst, mit ENV PORT=8000 im Dockerfile oder auf dem Tab Environment, und halte sie gleich dem Port des Web-Prozesses.
  • Fertige ImagesOhne Git-Build deployst du ein Image aus Docker Hub, der GitHub Container Registry, der Nodion Registry oder einer privaten Registry, deren Zugangsdaten du in Nodion hinterlegt hast. Es gelten dieselben Regeln für Port und Health Check.
  • USER, .dockerignore und der CommitDer USER des Images gilt, eine .dockerignore im Build-Kontext wird beachtet, und .git geht nie in den Build. Mit ARG NODION_GIT_SHA schreibst du den Commit-Hash ins Image.

Was Nodion für dich betreibt

  • Deploys ohne Downtime Push auf deinen Branch und Nodion baut ein neues Release. Der Traffic wechselt erst, wenn die neuen Instanzen ihren Health Check bestehen; ein fehlgeschlagenes Release lässt das laufende stehen. Apps mit lokalem Volume starten stattdessen neu, weil die Disk zu einer Instanz gehört.
  • Datenbanken neben der App Managed PostgreSQL, pgvector, MySQL, Valkey und ClickHouse in derselben Region. Angehängte Datenbanken kommen als DATABASE_URL, REDIS_URL oder CLICKHOUSE_URL in die App.
  • Previews pro Pull Request Schalte Previews ein, und Pull Requests aus deinem Repository bekommen eine eigene App mit eigener URL und frischen, leeren Datenbanken, automatisch oder per Hand angelegt. Forks und Bot-Pull-Requests werden übersprungen.
  • Worker, Cron Jobs und Skalierung Worker laufen als weitere Prozesse derselben App, Jobs planst du auf dem Tab Cron, und jeden Prozess skalierst du auf bis zu 16 Instanzen.
  • Release-Schritt Mit Buildpacks läuft eine release:-Zeile in der Procfile bei jedem neuen Build. Dockerfile-Apps sowie Redeploys und Rollbacks auf ein früheres Image nutzen einen Release Command, der an der App selbst gesetzt ist; er hat auch Vorrang vor der Procfile-Zeile. Bei statischen Sites läuft ein Release-Schritt in einem Image, das nur die gebauten Dateien enthält.
  • Logs und Metriken Build-, Release- und Laufzeit-Logs sowie CPU-, Speicher-, Disk- und Netzwerk-Metriken für jede Instanz im Dashboard.
  • Domains und HTTPS Ein Default-Hostname mit HTTPS ab dem ersten Deploy; deine eigenen Domains bekommen automatisch Zertifikate.

Weiterlesen

Docker auf Nodion: Fragen und Antworten

Brauche ich ein Dockerfile, um auf Nodion zu deployen?

Nein. Die Buildpacks von Nodion bauen Node.js-, Python-, PHP-, Ruby-, Java-, Go-, Rust-, .NET- und Elixir-Apps ohne. Ein Dockerfile lohnt sich, wenn du ein bestimmtes Base Image, eine ungewöhnliche Toolchain oder volle Kontrolle über den Build willst.

Warum wird mein Container nie bereit?

Nodion wartet auf 2xx oder 3xx auf dem Health-Check-Pfad, am Port des Web-Prozesses. Prüf, ob der Server auf 0.0.0.0 lauscht, nicht auf 127.0.0.1, genau auf diesem Port, und ob der Pfad ohne Login erreichbar ist. Nach 10 Minuten wird das Release abgebrochen, und die alte Version läuft weiter.

Kann ich ein Image aus Docker Hub oder GHCR deployen?

Ja. Wähl ein fertiges Image statt eines Git-Repositorys. Öffentliche Images funktionieren direkt; für eine private Registry hinterlegst du vorher die Zugangsdaten.

Startet Nodion meine docker-compose.yml?

Nicht als docker compose up. Ein experimenteller Import liest die Datei einmal beim Anlegen der App und macht daraus eine App mit Managed Datenbanken; mehr unter Docker Compose auf Nodion.

Wo läuft meine Docker-App?

In der Region EU Central in Frankfurt. Build, Registry, die App und ihre Datenbanken, Volumes, Buckets, Logs und Metriken bleiben in dieser Region, API und Control Plane von Nodion werden in Deutschland gehostet. Die Nodion GmbH hat ihren Sitz in Stuttgart.

Kann ich Docker DSGVO-konform betreiben?

Nodion schafft die Voraussetzungen dafür: Die Nodion GmbH hat ihren Sitz in Stuttgart, in der Region Frankfurt laufen App, Datenbanken und Volumes in Deutschland, und den Auftragsverarbeitungsvertrag (AVV) nach Art. 28 DSGVO schließt du im Dashboard elektronisch ab. Ob dein Einsatz DSGVO-konform ist, hängt auch davon ab, wie du die App konfigurierst und nutzt.

Was kostet Docker-Hosting auf Nodion?

Eine App-Instanz gibt es ab 1 EUR im Monat. Das Setup im Kostenkasten kostet 2 EUR im Monat: App 2 EUR. Preise sind netto, Abrechnung pro Sekunde, größere Varianten oder mehr Instanzen wählst du jederzeit.

Kann ich eine eigene Domain für meine Docker-App nutzen?

Ja. Jede App bekommt einen Default-Hostnamen mit HTTPS. Deine eigene Domain nimmst du auf dem Tab Domains dazu, das TLS-Zertifikat wird automatisch ausgestellt und erneuert.

Gibt es Support auf Deutsch?

Ja. Nodion ist ein deutsches Unternehmen mit Sitz in Stuttgart, der Support antwortet auf Deutsch und auf Englisch.

Gib deinem Agenten eine Cloud.

Bis zu 15 € Guthaben beim Registrieren.

Weiter mit GitHub

oder per E-Mail

Bleib auf dem Laufenden.

Produktnews, kein Spam. Jederzeit abbestellen.