Framework Frankfurt nad Menem, Niemcy
Nodion rozpoznaje FastAPI lub Starlette w Twoich zależnościach, instaluje je swoim buildpackiem Pythona i uruchamia Uvicorn dla Twojego main.py lub app.py. Migracje mogą działać jako krok release, zanim każda nowa wersja trafi na produkcję, a API działa we Frankfurcie nad Menem, w razie potrzeby obok zarządzanej bazy danych PostgreSQL.
uvicorn main:app, jeden procesfastapi[standard] go zawiera; przy samym fastapi dodaj uvicorn samodzielnie. Przypnij wersję Pythona w .python-version, bo zakres wybiera najnowsze wydanie. requirements.txt fastapi[standard] main.py i app.py, który zawiera FastAPI lub Starlette, i uruchamia uvicorn main:app lub uvicorn app:app na 0.0.0.0 i porcie PORT ustawionym przez Nodion. Odpowiadaj na / kodem 200: to domyślna ścieżka health checku. main.py from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def root():
return {"status": "ok"} app/main.py, Nodion nie znajdzie jej pliku w katalogu głównym. Wskaż moduł samodzielnie w pliku Procfile; ta linia zastępuje domyślne polecenie startowe. Procfile web: uvicorn app.main:app --host 0.0.0.0 --port $PORT release: uruchamia się raz na każdy build, po buildzie i przed startem nowej wersji. Jeśli zakończy się błędem, wdrożenie zostanie zatrzymane, a działająca wersja nadal obsługuje ruch. Procfile release: alembic upgrade head DATABASE_URL. Oznacz klucze API jako sekrety, a potem zrób push. allowed_hosts, więc middleware odpowiada kodem 400, a release nigdy nie trafia na produkcję. Dodaj po nim funkcję @app.middleware("http"), która dla /healthz zwraca 200 (Starlette uruchamia jako pierwszy middleware dodany jako ostatni), i ustaw w ustawieniach aplikacji /healthz jako ścieżkę health checku.web: uvicorn main:app --host 0.0.0.0 --port $PORT --workers 2 w pliku Procfile albo uruchom więcej instancji procesu web.DATABASE_URL dostarczany przez Nodion zaczyna się od postgres://, czego SQLAlchemy 1.4 i nowsze nie akceptują. Zamień schemat, zanim przekażesz URL dalej, na przykład na postgresql+psycopg:// dla psycopg 3, który obsługuje silniki synchroniczne i asynchroniczne.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. Domyślnie nie: Nodion uruchamia jeden proces Uvicorn. Dodaj --workers 2 lub więcej do własnej linii web: albo przeskaluj proces web na więcej instancji.
Health check potrzebuje odpowiedzi 2xx lub 3xx na /. API bez trasy głównej odpowiada 404, a TrustedHostMiddleware odpowiada 400 na wewnętrzny adres. Dodaj trasę albo ustaw w ustawieniach aplikacji ścieżkę taką jak /healthz i odpowiadaj na nią przed sprawdzeniem hosta.
Tak. Gdy Starlette jest w Twoich zależnościach, obowiązuje to samo domyślne polecenie z Uvicorn, które szuka app w main.py lub app.py.
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 3.50 EUR miesięcznie: Aplikacja 2 EUR, PostgreSQL 1.50 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.