Język Frankfurt nad Menem, Niemcy
Nodion buduje swoim buildpackiem Pythona każde repozytorium z plikiem requirements.txt, Pipfile lub pyproject.toml. Instaluje Twoje zależności, uruchamia Django, FastAPI i Flask na serwerze produkcyjnym, a wszystko inne startuje z app.py, main.py lub Twojego pliku Procfile. Aplikacja działa we Frankfurcie nad Menem.
requirements.txt, Pipfile lub pyproject.tomlapp.py / main.py lub Procfilepoetry.lock (Poetry), Pipfile.lock (Pipenv), requirements.txt (pip), a na końcu sam pyproject.toml, instalowany przez pip install . (lub przez Poetry, jeśli ma sekcję [tool.poetry]). Plik uv.lock jest ignorowany, a Pipfile bez pliku lock nie instaluje niczego. .python-version, potem runtime.txt, a potem requires-python w pyproject.toml; jeśli nie ma żadnego z nich, dostajesz 3.13. Zakres taki jak requires-python = ">=3.10" wskazuje najnowsze opublikowane wydanie, obecnie 3.15, więc przypnij wersję, na której testujesz. .python-version 3.13 manage.py) uruchamia przez Gunicorn, FastAPI lub Starlette przez Uvicorn, a Flask przez Gunicorn. Serwer nie jest dodawany automatycznie, więc wpisz go do zależności. Bez frameworka Nodion uruchamia python app.py lub python main.py, a ten skrypt musi nasłuchiwać na 0.0.0.0 i na porcie PORT ustawionym przez Nodion. web: zastępuje polecenie domyślne. Bez Django, FastAPI, Flask, app.py i main.py plik Procfile musi definiować proces, web: lub worker:; w przeciwnym razie build kończy się błędem wskazującym brakujący element. Linia release: uruchamia się raz na każdy build, przed startem nowej wersji: to miejsce na migracje. Procfile web: gunicorn myapp.wsgi --bind 0.0.0.0:$PORT
release: alembic upgrade head DATABASE_URL, istnieją dopiero podczas działania aplikacji. Od tej chwili każdy push buduje nowy release. worker: niczego nie uruchamia: w zakładce Processes dodaj proces o tej samej nazwie, bez portu. Zostaw obok jawną linię web:, bo bez niej domyślnym poleceniem staje się pierwszy wpis w Procfile inny niż release:. Aplikacja złożona tylko z workerów, na przykład bot, ustawia zamiast tego web na 0 instancji.requirements.txt, Pipfile, pyproject.toml, poetry.lock i Pipfile.lock. Pliki lock zawierają też zależności pośrednie, więc biblioteka, która instaluje FastAPI jako zależność, na przykład Gradio, może włączyć domyślne polecenie dla FastAPI. Linia web: rozstrzyga sprawę.requirements.txt, na przykład przez uv export --no-emit-project -o requirements.txt, i dodaj ten plik do repozytorium; w przeciwnym razie Nodion instaluje z pyproject.toml bez pliku lock.DATABASE_URL, REDIS_URL lub CLICKHOUSE_URL. 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. Od 3.10 do 3.15, domyślnie 3.13. Przypnij jedną z nich w .python-version, a dostaniesz najnowsze wydanie poprawkowe tej wersji. Przy wersjach po końcu wsparcia (end of life) build kończy się błędem z jasnym komunikatem.
Wtedy, jeśli nie ma Django, FastAPI ani Flask, to Twój plik Procfile określa, co ma działać: linia web: dla serwera albo linia worker: dla procesu w tle. Bez takiej linii build kończy się błędem, który mówi, co należy dodać.
Tak. Wpisz go do pliku Procfile jako worker: python job.py, w zakładce Processes dodaj proces o nazwie worker bez portu i ustaw web na 0 instancji. Do skryptów uruchamianych według harmonogramu użyj zamiast tego zakładki Cron.
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.
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.
Instancja aplikacji kosztuje od 1 EUR miesięcznie. Konfiguracja z ramki kosztuje 2 EUR miesięcznie: Aplikacja 2 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.
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.
Zyskaj do 15 € środków na start przy rejestracji.
lub przez e-mail
Nowości produktowe, bez spamu. Możesz zrezygnować w każdej chwili.
Zapisano pomyślnie.