Framework Frankfurt, Duitsland
Nodion herkent FastAPI of Starlette in je dependencies, installeert ze met het eigen Python-buildpack en start Uvicorn op je main.py of app.py. Migraties kunnen draaien als releasestap voordat elke nieuwe versie live gaat, en de API draait in Frankfurt, desgewenst naast een managed PostgreSQL-database.
uvicorn main:app, één procesfastapi[standard] bevat het; met alleen fastapi voeg je uvicorn zelf toe. Leg de Python-versie vast in .python-version, want een bereik kiest de nieuwste release. requirements.txt fastapi[standard] main.py en app.py het bestand dat FastAPI of Starlette bevat en voert uvicorn main:app of uvicorn app:app uit op 0.0.0.0 en de PORT die Nodion instelt. Beantwoord / met status 200: dat is het standaardpad van de health check. main.py from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def root():
return {"status": "ok"} app/main.py, dan is er in de root geen bestand om te vinden. Geef de module zelf op in een Procfile; de regel vervangt het standaardcommando. Procfile web: uvicorn app.main:app --host 0.0.0.0 --port $PORT release:-regel één keer per build, na de build en voordat de nieuwe versie start. Mislukt hij, dan stopt de deployment en blijft de draaiende versie live. Procfile release: alembic upgrade head DATABASE_URL. Markeer API-sleutels als secret en push dan. allowed_hosts. De middleware antwoordt dus 400 en de release gaat nooit live. Voeg daarna een functie met @app.middleware("http") toe die 200 teruggeeft voor /healthz (Starlette voert de laatst toegevoegde middleware als eerste uit), en stel in de app-instellingen /healthz in als pad van de health check.web: uvicorn main:app --host 0.0.0.0 --port $PORT --workers 2 in een Procfile of draai meer instanties van het webproces.DATABASE_URL van Nodion begint met postgres://, en dat accepteren SQLAlchemy 1.4 en nieuwer niet. Vervang het schema voordat je de URL doorgeeft, bijvoorbeeld door postgresql+psycopg:// voor psycopg 3. Dat schema werkt met synchrone en asynchrone engines.DATABASE_URL, REDIS_URL of CLICKHOUSE_URL. release:-regel in het Procfile bij elke nieuwe build. Dockerfile-apps, en redeploys of rollbacks naar een eerdere image, gebruiken een releasecommando dat op de app zelf is ingesteld en dat ook voorrang heeft op de Procfile-regel. Bij statische sites draait een releasestap in een image die alleen de gebouwde bestanden bevat. Standaard niet: Nodion start één Uvicorn-proces. Voeg --workers 2 of meer toe aan je eigen web:-regel, of schaal het webproces naar meer instanties.
De health check heeft een 2xx of 3xx nodig op /. Een API zonder rootroute antwoordt 404, en TrustedHostMiddleware antwoordt 400 op het interne adres. Voeg een route toe, of stel in de app-instellingen een pad zoals /healthz in en beantwoord dat vóór de hostcontrole.
Ja. Met Starlette in je dependencies geldt hetzelfde standaardcommando met Uvicorn, dat app zoekt in main.py of app.py.
In de regio EU Central in Frankfurt, Duitsland. Build, registry, de app en de bijbehorende databases, volumes, buckets, logs en metrics blijven in die regio, en de API en het control plane van Nodion worden in Duitsland gehost. Nodion GmbH is gevestigd in Stuttgart.
Nodion biedt hiervoor de basis: Nodion GmbH is gevestigd in Stuttgart (Duitsland). Kies je de regio Frankfurt, dan draaien de app, de databases en de volumes in Duitsland. De verwerkersovereenkomst (DPA, art. 28 AVG) sluit je elektronisch af in het dashboard. Of je configuratie aan de AVG voldoet, hangt ook af van hoe je de app instelt en gebruikt.
Een appinstantie kost vanaf 1 EUR per maand. De configuratie in het kostenoverzicht kost 3.50 EUR per maand: App 2 EUR, PostgreSQL 1.50 EUR. Prijzen zijn excl. btw en worden per seconde gefactureerd, en je kiest grotere formaten of meer instanties wanneer je ze nodig hebt.
Ja. Elke app krijgt een standaardhostnaam met HTTPS. Voeg je eigen domein toe op het tabblad Domains van de app; het TLS-certificaat wordt automatisch uitgegeven en vernieuwd.
Ontvang tot € 15 welkomsttegoed bij je registratie.
of met e-mail
Productnieuws, geen spam. Je kunt je altijd weer afmelden.
Je bent aangemeld.