Framework Francfort, Allemagne
Nodion reconnaît FastAPI ou Starlette dans vos dépendances, les installe avec son buildpack Python et démarre Uvicorn sur votre main.py ou app.py. Les migrations peuvent s'exécuter comme étape de release avant la mise en production de chaque nouvelle version, et l'API tourne à Francfort, à côté d'une base de données PostgreSQL managée si vous en avez besoin.
uvicorn main:app, un processusfastapi[standard] l'inclut ; avec fastapi seul, ajoutez uvicorn vous-même. Fixez la version de Python dans .python-version, car une plage sélectionne la version la plus récente. requirements.txt fastapi[standard] main.py et app.py qui contient FastAPI ou Starlette et exécute uvicorn main:app ou uvicorn app:app sur 0.0.0.0 et le PORT qu'il définit. Répondez à / avec un code 200 : c'est le chemin par défaut du health check. main.py from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def root():
return {"status": "ok"} app/main.py, il n'y a aucun fichier à la racine à trouver. Indiquez vous-même le module dans un Procfile ; cette ligne remplace la commande de démarrage par défaut. Procfile web: uvicorn app.main:app --host 0.0.0.0 --port $PORT release: s'exécute une fois par build, après le build et avant le démarrage de la nouvelle version. Si elle échoue, le déploiement s'arrête et la version en cours reste en ligne. Procfile release: alembic upgrade head DATABASE_URL au déploiement suivant. Marquez les clés d'API comme secrètes, puis faites un push. allowed_hosts : le middleware répond 400 et la release n'est jamais mise en ligne. Ajoutez après lui une fonction @app.middleware("http") qui renvoie 200 pour /healthz (Starlette exécute en premier le middleware ajouté en dernier), et indiquez /healthz comme chemin du health check dans les paramètres de l'app.web: uvicorn main:app --host 0.0.0.0 --port $PORT --workers 2 dans un Procfile, ou lancez davantage d'instances du processus web.DATABASE_URL de Nodion commence par postgres://, que SQLAlchemy 1.4 et les versions suivantes n'acceptent pas. Remplacez le schéma avant de la transmettre, par exemple par postgresql+psycopg:// pour psycopg 3, qui fonctionne avec les moteurs synchrones comme asynchrones.DATABASE_URL, REDIS_URL ou CLICKHOUSE_URL. release: du Procfile s'exécute à chaque nouveau build. Les apps Dockerfile, ainsi que les redéploiements ou les rollbacks vers une image antérieure, utilisent une commande de release définie sur l'app elle-même, qui prime aussi sur la ligne du Procfile. Sur les sites statiques, l'étape de release s'exécute dans une image qui ne contient que les fichiers générés par le build. Pas par défaut : Nodion démarre un seul processus Uvicorn. Ajoutez --workers 2 ou plus à votre propre ligne web:, ou augmentez le nombre d'instances du processus web.
Le health check attend un 2xx ou un 3xx sur /. Une API sans route racine répond 404, et TrustedHostMiddleware répond 400 à l'adresse interne. Ajoutez une route, ou indiquez un chemin comme /healthz dans les paramètres de l'app et répondez-y avant la vérification de l'hôte.
Oui. Avec Starlette dans vos dépendances, vous obtenez la même commande par défaut avec Uvicorn, qui cherche app dans main.py ou app.py.
Dans la région EU Central, à Francfort (Allemagne). Le build, le registry, l'app et ses bases de données, volumes, buckets, logs et métriques restent dans cette région. L'API et le plan de contrôle de Nodion sont hébergés en Allemagne. Nodion GmbH a son siège à Stuttgart.
Nodion en pose les bases : Nodion GmbH a son siège à Stuttgart (Allemagne). Dans la région de Francfort, l'app, ses bases de données et ses volumes fonctionnent en Allemagne. Vous concluez le DPA (accord de traitement des données, art. 28 RGPD) par voie électronique dans le dashboard. La conformité de votre déploiement dépend aussi de la façon dont vous configurez et utilisez l'app.
Une instance d'app coûte à partir de 1 EUR par mois. La configuration présentée dans l'encadré des coûts revient à 3.50 EUR par mois : App 2 EUR, PostgreSQL 1.50 EUR. Les prix sont HT, avec une facturation à la seconde. Vous pouvez choisir des tailles plus grandes ou davantage d'instances dès que vous en avez besoin.
Oui. Chaque app reçoit un nom d'hôte par défaut avec HTTPS. Ajoutez votre propre domaine dans l'onglet Domains de l'app. Le certificat TLS est émis et renouvelé automatiquement.
Jusqu'à 15 € de crédit de bienvenue à l'inscription.
ou par e-mail
Les nouveautés du produit, sans spam. Désabonnez-vous à tout moment.
Inscription confirmée.