Framework Frankfurt, Duitsland

Deploy Streamlit op Nodion

Nodion bouwt je Streamlit-app met het eigen Python-buildpack en installeert je dependencies, maar herkent Streamlit zelf niet: één web:-regel in een Procfile start de server. Daarna draait de app in Frankfurt.

Op Nodion deployen ›

vanaf 1 EUR / maand

Tot € 15 welkomsttegoed bij registratie

Gebouwd als
Python-app (pip, Poetry of Pipenv)
Start
streamlit run vanuit je Procfile
Python
3.10 tot en met 3.15, standaard 3.13
Regio
EU Central (Frankfurt)

Streamlit stap voor stap deployen

  1. Voeg Streamlit toe en leg de Python-versie vast Zet streamlit en je databibliotheken in requirements.txt. Leg in .python-version een Python-versie vast die je bibliotheken ondersteunen, want een bereik kiest de nieuwste release. requirements.txt
    streamlit
    pandas
  2. Start Streamlit vanuit een Procfile Zonder deze regel zou Nodion python app.py uitvoeren, waardoor het script wordt uitgevoerd maar er geen server start. De flags binden Streamlit aan alle interfaces en de PORT die Nodion instelt, en slaan de interactieve vraag bij de eerste start over. Procfile
    web: streamlit run app.py --server.port $PORT --server.address 0.0.0.0 --server.headless true
  3. Bewaar secrets in omgevingsvariabelen Commit .streamlit/secrets.toml niet. Stel API-sleutels in als geheime variabelen op het tabblad Environment en lees ze met os.environ; ze bestaan tijdens runtime, en dat is precies wanneer Streamlit je script uitvoert.
  4. Maak de app aan en push Maak een applicatie aan vanuit je GitHub-, GitLab-, Bitbucket- of Gitea-repository in de regio EU Central. Apps die DataFrames laden, hebben geheugen nodig, dus 1 GB is een redelijk begin. Streamlit beantwoordt / met 200, dus de health check werkt met de standaardinstellingen zonder aanpassingen.

Goed om te weten

  • Eén grotere instantieStreamlit houdt de status van elke sessie bij in het geheugen van het proces dat de sessie bedient. Met meerdere instanties kan een browser die opnieuw verbinding maakt op een andere terechtkomen en van voren af aan beginnen, dus één grotere instantie is meestal de eenvoudigere keuze.
  • Bestanden en cachesst.cache_data en bestanden die tijdens runtime worden geschreven, staan op de instantie en zijn weg na de volgende deployment of na de dagelijkse vervanging door een nieuwe instantie. Bewaar data die je nodig hebt in een database, een bucket of een volume.

Wat Nodion voor je regelt

  • Deploys zonder downtime Push naar je branch en Nodion bouwt een nieuwe release. Het verkeer schakelt over zodra de nieuwe instanties hun health check doorstaan; een mislukte release laat de draaiende versie staan. Apps met een lokaal volume herstarten in plaats daarvan, omdat de schijf bij één instantie hoort.
  • Databases naast de app Managed PostgreSQL, pgvector, MySQL, Valkey en ClickHouse in dezelfde regio. Gekoppelde databases komen binnen als DATABASE_URL, REDIS_URL of CLICKHOUSE_URL.
  • Previews per pull request Zet previews aan en pull requests uit je repository krijgen een eigen app met een eigen URL en nieuwe, lege databases, automatisch of handmatig aangemaakt. Forks en pull requests van bots worden overgeslagen.
  • Workers, cronjobs en schalen Draai workers als extra processen van dezelfde app, plan jobs op het tabblad Cron en schaal elk proces naar maximaal 16 instanties.
  • Releasestap Met buildpacks draait een 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.
  • Logs en metrics Build-, release- en runtimelogs plus metrics voor CPU, geheugen, schijf en netwerk van elke instantie in het dashboard.
  • Domeinen en HTTPS Een standaardhostnaam met HTTPS vanaf de eerste deploy; je eigen domeinen krijgen automatisch certificaten.

Verder lezen

Streamlit op Nodion: vragen en antwoorden

Herkent Nodion Streamlit-apps?

Nee. Het Python-buildpack installeert je dependencies, en de web:-regel in je Procfile start streamlit run. Zonder die regel wordt de app nooit gereed.

Kan ik een Gradio-app op dezelfde manier deployen?

Ja, met web: python app.py in een Procfile en demo.launch(server_name="0.0.0.0", server_port=int(os.environ["PORT"])) in je script. Houd de expliciete regel: Gradio is afhankelijk van FastAPI, en een lockbestand dat FastAPI vermeldt, zou het standaardcommando voor FastAPI activeren.

Hoeveel geheugen heeft een Streamlit-app nodig?

Dat hangt af van je data. Het kostenoverzicht begint bij 1 GB, wat past bij veel dashboards op basis van pandas; het dashboard toont het geheugen per instantie, en je wijzigt de grootte van het webproces wanneer je dat nodig hebt.

Waar draait mijn Streamlit-app?

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.

Kan ik Streamlit gebruiken volgens de AVG (GDPR)?

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.

Wat kost het om Streamlit op Nodion te draaien?

Een appinstantie kost vanaf 1 EUR per maand. De configuratie in het kostenoverzicht kost 4 EUR per maand: App 4 EUR. Prijzen zijn excl. btw en worden per seconde gefactureerd, en je kiest grotere formaten of meer instanties wanneer je ze nodig hebt.

Kan ik een eigen domein gebruiken voor mijn Streamlit-app?

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.

Geef je agent een cloud.

Ontvang tot € 15 welkomsttegoed bij je registratie.

Doorgaan met GitHub

of met e-mail

Blijf op de hoogte.

Productnieuws, geen spam. Je kunt je altijd weer afmelden.