Framework Francfort, Allemagne

Déployez Streamlit sur Nodion

Nodion construit votre app Streamlit avec son buildpack Python et installe vos dépendances, mais ne détecte pas Streamlit lui-même : une ligne web: dans un Procfile démarre le serveur. L'app tourne ensuite à Francfort.

Déployer sur Nodion ›

à partir de 1 EUR / mois

Jusqu'à 15 € de crédit de bienvenue à l'inscription

Type de build
App Python (pip, Poetry ou Pipenv)
Démarrage
streamlit run depuis votre Procfile
Python
de 3.10 à 3.15, 3.13 par défaut
Région
EU Central (Francfort)

Déployez Streamlit étape par étape

  1. Ajoutez Streamlit et fixez la version de Python Listez streamlit et vos bibliothèques de données dans requirements.txt. Fixez dans .python-version une version de Python prise en charge par vos bibliothèques, car une plage sélectionne la version la plus récente. requirements.txt
    streamlit
    pandas
  2. Démarrez Streamlit depuis un Procfile Sans cette ligne, Nodion lancerait python app.py, qui exécute le script mais ne démarre aucun serveur. Les options font écouter Streamlit sur toutes les interfaces et sur le PORT défini par Nodion, et sautent la question interactive du premier lancement. Procfile
    web: streamlit run app.py --server.port $PORT --server.address 0.0.0.0 --server.headless true
  3. Gardez les secrets dans des variables d'environnement Ne commitez pas .streamlit/secrets.toml. Définissez les clés d'API comme variables secrètes dans l'onglet Environment et lisez-les avec os.environ ; elles existent à l'exécution, c'est-à-dire au moment où Streamlit exécute votre script.
  4. Créez l'app et faites un push Créez une application depuis votre dépôt GitHub, GitLab, Bitbucket ou Gitea dans la région EU Central. Les apps qui chargent des DataFrames ont besoin de mémoire : 1 Go est un point de départ raisonnable. Streamlit répond 200 sur /, le health check par défaut fonctionne donc tel quel.

Bon à savoir

  • Une seule instance plus grandeStreamlit conserve l'état de chaque session dans la mémoire du processus qui la sert. Avec plusieurs instances, un navigateur qui se reconnecte peut tomber sur une autre et repartir de zéro : une seule instance plus grande est donc en général le choix le plus simple.
  • Fichiers et cachesst.cache_data et les fichiers écrits à l'exécution restent sur l'instance et disparaissent après le déploiement suivant ou le remplacement quotidien par une instance neuve. Gardez les données dont vous avez besoin dans une base de données, un bucket ou un volume.

Ce que Nodion gère pour vous

  • Déploiements sans interruption Faites un push sur votre branche : Nodion construit une nouvelle release. Le trafic bascule lorsque les nouvelles instances réussissent leur health check ; si la release échoue, celle en cours reste active. Les apps avec un volume local redémarrent, car le disque appartient à une seule instance.
  • Bases de données à côté de l'app PostgreSQL, pgvector, MySQL, Valkey et ClickHouse managés, dans la même région. Les bases de données rattachées arrivent sous forme de DATABASE_URL, REDIS_URL ou CLICKHOUSE_URL.
  • Previews par pull request Activez les previews, et les pull requests de votre dépôt obtiennent leur propre app, avec sa propre URL et des bases de données neuves et vides, créées automatiquement ou à la main. Les pull requests issues de forks ou de bots sont ignorées.
  • Workers, cron jobs et mise à l'échelle Exécutez les workers comme processus supplémentaires de la même app, planifiez des tâches dans l'onglet Cron et mettez chaque processus à l'échelle jusqu'à 16 instances.
  • Étape de release Avec les buildpacks, une ligne 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.
  • Logs et métriques Logs de build, de release et d'exécution, ainsi que les métriques CPU, mémoire, disque et réseau de chaque instance, dans le dashboard.
  • Domaines et HTTPS Un nom d'hôte par défaut avec HTTPS dès le premier déploiement, et des certificats automatiques pour vos propres domaines.

Pour aller plus loin

Streamlit sur Nodion : questions et réponses

Nodion détecte-t-il les apps Streamlit ?

Non. Le buildpack Python installe vos dépendances, et la ligne web: de votre Procfile démarre streamlit run. Sans cette ligne, l'app n'est jamais prête.

Puis-je déployer une app Gradio de la même manière ?

Oui, avec web: python app.py dans un Procfile et demo.launch(server_name="0.0.0.0", server_port=int(os.environ["PORT"])) dans votre script. Gardez la ligne explicite : Gradio dépend de FastAPI, et un lockfile qui le liste déclencherait la commande par défaut de FastAPI.

De combien de mémoire une app Streamlit a-t-elle besoin ?

Cela dépend de vos données. L'encadré des coûts part de 1 Go, ce qui convient à de nombreux tableaux de bord basés sur pandas ; le dashboard affiche la mémoire par instance, et vous changez la taille du processus web dès que vous en avez besoin.

Où tourne mon app Streamlit ?

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.

Puis-je utiliser Streamlit en conformité avec le RGPD ?

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.

Combien coûte l'hébergement Streamlit sur Nodion ?

Une instance d'app coûte à partir de 1 EUR par mois. La configuration présentée dans l'encadré des coûts revient à 4 EUR par mois : App 4 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.

Puis-je utiliser mon propre domaine pour mon app Streamlit ?

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.

Offrez un cloud à votre agent.

Jusqu'à 15 € de crédit de bienvenue à l'inscription.

Continuer avec GitHub

ou par e-mail

Restez informé.

Les nouveautés du produit, sans spam. Désabonnez-vous à tout moment.