Framework Frankfurt nad Menem, Niemcy

Wdróż Streamlit na Nodion

Nodion buduje Twoją aplikację Streamlit swoim buildpackiem Pythona i instaluje Twoje zależności, ale samego Streamlit nie wykrywa: serwer uruchamia jedna linia web: w pliku Procfile. Potem aplikacja działa we Frankfurcie nad Menem.

Wdróż na Nodion ›

od 1 EUR / mies.

Do 15 € środków na start przy rejestracji

Budowana jako
Aplikacja Python (pip, Poetry lub Pipenv)
Start
streamlit run z Twojego pliku Procfile
Python
od 3.10 do 3.15, domyślnie 3.13
Region
EU Central (Frankfurt)

Wdróż Streamlit krok po kroku

  1. Dodaj Streamlit i przypnij wersję Pythona Wpisz streamlit i swoje biblioteki do pracy z danymi do requirements.txt. W .python-version przypnij wersję Pythona, którą obsługują Twoje biblioteki, bo zakres wybiera najnowsze wydanie. requirements.txt
    streamlit
    pandas
  2. Uruchom Streamlit z pliku Procfile Bez tej linii Nodion uruchomiłby python app.py, co wykonuje skrypt, ale nie startuje serwera. Flagi ustawiają nasłuchiwanie Streamlit na wszystkich interfejsach i na porcie PORT ustawionym przez Nodion oraz pomijają interaktywne pytanie przy pierwszym uruchomieniu. Procfile
    web: streamlit run app.py --server.port $PORT --server.address 0.0.0.0 --server.headless true
  3. Trzymaj sekrety w zmiennych środowiskowych Nie dodawaj .streamlit/secrets.toml do repozytorium. Ustaw klucze API jako zmienne oznaczone jako sekret w zakładce Environment i odczytuj je przez os.environ; istnieją podczas działania aplikacji, czyli wtedy, gdy Streamlit wykonuje Twój skrypt.
  4. Utwórz aplikację i zrób push Utwórz aplikację ze swojego repozytorium GitHub, GitLab, Bitbucket lub Gitea w regionie EU Central. Aplikacje wczytujące DataFrame potrzebują więcej pamięci, więc 1 GB to rozsądny początek. Streamlit odpowiada na / kodem 200, więc domyślny health check działa bez zmian.

Warto wiedzieć

  • Jedna większa instancjaStreamlit trzyma stan każdej sesji w pamięci procesu, który ją obsługuje. Przy kilku instancjach przeglądarka, która połączy się ponownie, może trafić na inną i zacząć od nowa, więc jedna większa instancja to zwykle prostszy wybór.
  • Pliki i cachest.cache_data i pliki zapisane podczas działania aplikacji znajdują się na instancji i znikają po następnym wdrożeniu lub codziennej wymianie instancji. Dane, których potrzebujesz, trzymaj w bazie danych, buckecie lub wolumenie.

Czym Nodion zajmuje się za Ciebie

  • Wdrożenia bez przestojów Wypchnij zmiany do swojej gałęzi, a Nodion zbuduje nowy release. Ruch przełącza się, gdy nowe instancje przejdą health check; nieudany release nie wpływa na działającą wersję. Aplikacje z lokalnym wolumenem są natomiast uruchamiane ponownie, bo dysk należy do jednej instancji.
  • Bazy danych obok aplikacji Zarządzane PostgreSQL, pgvector, MySQL, Valkey i ClickHouse w tym samym regionie. Podłączone bazy danych trafiają do aplikacji jako DATABASE_URL, REDIS_URL lub CLICKHOUSE_URL.
  • Środowiska podglądu dla pull requestów Włącz środowiska podglądu, a każdy pull request z Twojego repozytorium dostanie własną aplikację z własnym adresem URL i nowymi, pustymi bazami danych, tworzoną automatycznie lub ręcznie. Forki i pull requesty od botów są pomijane.
  • Workery, zadania cron i skalowanie Uruchamiaj workery jako dodatkowe procesy tej samej aplikacji, planuj zadania w zakładce Cron i skaluj każdy proces do 16 instancji.
  • Etap release W przypadku buildpacków linia release: w Procfile uruchamia się przy każdym nowym buildzie. Aplikacje z Dockerfile, a także ponowne wdrożenia i rollbacki do wcześniejszego obrazu, korzystają z polecenia release ustawionego w samej aplikacji, które ma też pierwszeństwo przed linią z Procfile. W przypadku stron statycznych krok release działa w obrazie zawierającym tylko zbudowane pliki.
  • Logi i metryki W dashboardzie znajdziesz logi z builda, release'u i działania aplikacji oraz metryki CPU, pamięci, dysku i sieci dla każdej instancji.
  • Domeny i HTTPS Domyślna nazwa hosta z HTTPS od pierwszego wdrożenia; Twoje własne domeny automatycznie dostają certyfikaty.

Warto przeczytać

Streamlit na Nodion: pytania i odpowiedzi

Czy Nodion wykrywa aplikacje Streamlit?

Nie. Buildpack Pythona instaluje Twoje zależności, a linia web: w Twoim pliku Procfile uruchamia streamlit run. Bez tej linii aplikacja nigdy nie staje się gotowa.

Czy mogę w ten sam sposób wdrożyć aplikację Gradio?

Tak, z web: python app.py w pliku Procfile i demo.launch(server_name="0.0.0.0", server_port=int(os.environ["PORT"])) w Twoim skrypcie. Zachowaj jawną linię: Gradio zależy od FastAPI, a plik lock, który je wymienia, włączyłby domyślne polecenie dla FastAPI.

Ile pamięci potrzebuje aplikacja Streamlit?

To zależy od Twoich danych. W ramce z kosztami najniższa opcja ma 1 GB, co wystarcza wielu dashboardom opartym na pandas; panel pokazuje pamięć na instancję, a rozmiar procesu web zmienisz w dowolnym momencie.

Gdzie działa moja aplikacja Streamlit?

W regionie EU Central we Frankfurcie nad Menem (Niemcy). Build, rejestr, aplikacja oraz jej bazy danych, wolumeny, buckety, logi i metryki pozostają w tym regionie, a API i warstwa sterowania (control plane) Nodion są hostowane w Niemczech. Nodion GmbH ma siedzibę w Stuttgarcie.

Czy mogę wykorzystywać Streamlit zgodnie z RODO?

Nodion zapewnia do tego podstawy: Nodion GmbH ma siedzibę w Stuttgarcie (Niemcy), w regionie Frankfurt nad Menem aplikacja, jej bazy danych i wolumeny działają w Niemczech, a umowę powierzenia przetwarzania danych (DPA, art. 28 RODO) zawierasz elektronicznie w dashboardzie. To, czy Twoje wdrożenie spełnia wymogi RODO, zależy też od tego, jak skonfigurujesz aplikację i jak z niej korzystasz.

Ile kosztuje uruchomienie Streamlit na Nodion?

Instancja aplikacji kosztuje od 1 EUR miesięcznie. Konfiguracja z ramki kosztuje 4 EUR miesięcznie: Aplikacja 4 EUR. Ceny są podane netto, a rozliczenie następuje co do sekundy. Większe rozmiary lub więcej instancji możesz wybrać w dowolnym momencie.

Czy mogę użyć własnej domeny dla mojej aplikacji Streamlit?

Tak. Każda aplikacja dostaje domyślną nazwę hosta z HTTPS. Własną domenę dodasz w zakładce Domains aplikacji, a certyfikat TLS jest wystawiany i odnawiany automatycznie.

Daj swojemu agentowi chmurę.

Zyskaj do 15 € środków na start przy rejestracji.

Kontynuuj z GitHub

lub przez e-mail

Bądź na bieżąco.

Nowości produktowe, bez spamu. Możesz zrezygnować w każdej chwili.