Hosting Python dla Django, Flaska i FastAPI
Wgrywasz kod, zakładasz venv i wskazujesz domenę w panelu. Aplikację uruchamia gunicorn albo uvicorn pod nadzorem systemu, który podnosi ją po awarii, a certyfikat HTTPS odnawia się sam. PostgreSQL, MariaDB, Redis i powłoka SSH są w cenie pakietu.
- Python 3.13
- Django
- Flask
- FastAPI
- Starlette
- Litestar
- Quart
- PostgreSQL
- Redis
9,90 zł netto/mc
ta sama cena przy odnowieniuPakiet do Django, Flaska i FastAPI
Na każdym z nich założysz venv i uruchomisz migracje przez SSH. Wyższy pakiet daje więcej pamięci i więcej miejsca na bazy. Pozycja „na aplikację” to 60% pamięci pakietu: tyle może zająć jedna aplikacja razem z procesami, które uruchamia.
M · Standard
Aplikacja w Django albo Flasku z bazą PostgreSQL, obok strony firmowej.
9,90 zł netto/mc
L · Pro
Kilka aplikacji na jednym koncie, na przykład panel w Django i API w FastAPI.
16,90 zł netto/mc
XL · Max
Duży projekt w Django: aplikacja, worker Celery i Redis na jednym koncie, z zapasem pamięci.
24,90 zł netto/mc
Jedna domena .pl, .com.pl albo .co.pl gratis na pierwszy rok w pakietach L i XL, odnowienie według cennika
Więcej miejsca na pocztę? Dodaj od 25 do 250 GB w cenie 30 zł netto rocznie, za każde 25 GB.
„Bez limitu” przy stronach, bazach danych i domenach podpiętych oznacza do 100 w jednej usłudze, a przy skrzynkach do 1000. Potrzebujesz więcej? Napisz do nas. Dysk, łącze, transfer danych i pozostałe parametry są w porównaniu pakietów. Dlaczego projekt w Pythonie zaczyna się od pakietu z powłoką, wyjaśniamy w pytaniach niżej.
Co dostaje projekt w Pythonie
Python 3.13 jest w obrazie. Do swojego venv instalujesz zależności razem z gunicorn albo uvicorn, a panel ustawia uruchamianie aplikacji pod nadzorem systemu.
Python 3.13 i własne venv dla każdej aplikacji
Interpreter jest systemowy, więc nie zajmuje Twojego dysku. Zależności trzymasz w środowisku wirtualnym aplikacji, w ~/apps/<nazwa>/venv, dzięki czemu dwie Twoje aplikacje mogą stać na różnych wersjach tej samej biblioteki.
gunicorn dla Django i Flaska, uvicorn dla FastAPI
Framework wybierasz przy dodawaniu aplikacji, a panel dobiera do niego polecenie startowe serwera z Twojego venv. Jedna pozycja ASGI obsługuje FastAPI, Starlette, Litestar, Quart. To ważne, bo FastAPI podniesione serwerem WSGI wstaje, melduje „działa” i zwraca błąd na każde żądanie. Dlatego framework jest osobnym polem, a nie domysłem.
Django: pliki statyczne prosto z dysku
Przy dodawaniu aplikacji Django zbieramy pliki statyczne, a serwer WWW oddaje je bezpośrednio z dysku. Do Pythona idzie tylko to, co naprawdę musi. Migracje i konto administratora uruchamiasz sam, przez SSH.
Redis jako cache i broker Celery
Redisa włączasz jednym przyciskiem w panelu i dostajesz ścieżkę gniazda oraz hasło. redis-py łączy się przez gniazdo (unix_socket_path), a Celery przyjmuje adres brokera w postaci redis+socket://. Limit pamięci Redisa rośnie z pakietem: 128 MB w Standard, 512 MB w Max. Po zapełnieniu pamięci serwer zaczyna usuwać najdawniej używane klucze, także te z kolejką brokera, więc oczekujące zadania Celery mogą przepaść. Zostaw Redisowi zapas pamięci i pilnuj jego zajętości.
psycopg i mysqlclient instalują się od razu
W obrazie stoi build-essential, python3-dev, libpq-dev, default-libmysqlclient-dev, pkg-config, czyli komplet do zbudowania rozszerzeń w C i sterowników obu baz. Jeśli Twoja zależność potrzebuje innej biblioteki systemowej, zapytaj przed zamówieniem, bo to zmiana w obrazie serwera, a nie ustawienie w panelu.
Pełna powłoka SSH i Git
Przez SSH robisz to, co lokalnie: python3 -m venv, pip install -r requirements.txt, manage.py migrate i createsuperuser. Klucz publiczny dodajesz w panelu. Repozytorium sklonujesz gitem, a długie zadanie zostawisz w tmux.
Osobny kontener i sufit pamięci z cennika
gunicorn albo uvicorn działa w Twoim kontenerze, z własnymi procesami i własnym systemem plików. RAM i vCPU są przypisane do pakietu i egzekwowane automatycznie. Sufit jednej aplikacji, łącznie z procesami potomnymi, to 60% pamięci pakietu. Worker Celery uruchomiony przez SSH liczy się do pamięci całego pakietu, więc zostaw mu miejsce.
HTTPS, HTTP/3 i kopia co dobę
Certyfikat Let’s Encrypt wystawia się i odnawia sam, a aplikacja odpowiada też po HTTP/3. Pliki projektu i bazy przywracasz sam z panelu. Kopia wychodzi poza serwer co dobę i z niej wraca baza, a pliki z ostatniej doby masz też w migawkach co 4 godziny.
PostgreSQL w pakiecie, bez dopłaty
Silnik wybierasz przy zakładaniu bazy: MariaDB albo PostgreSQL. Obie liczą się do tej samej puli baz z Twojego pakietu, więc wybór jednej z nich nic nie kosztuje.
Ile baz
25 w pakiecie Standard i więcej w wyższych. Każdą zakładasz w panelu, razem z użytkownikiem i hasłem. Liczby dla wszystkich pakietów są w cenniku, w wierszu „Bazy”.
Bezpieczny dostęp
Aplikacja łączy się z bazą z Twojego serwera, a adres i port podaje panel. Z internetu baz nie wystawiamy, bo otwarty port bazy to najkrótsza droga do cudzych danych.
Podgląd z przeglądarki
phpMyAdmin dla MariaDB i Adminer dla PostgreSQL. Otwierasz je z panelu jednorazowym podpisanym odnośnikiem, bez publicznego adresu i bez podawania hasła bazy.
Pierwsze uruchomienie Django albo FastAPI
Venv zakładasz sam, raz. Polecenie startowe, port i certyfikat panel dobiera do frameworka, który wybierzesz.
-
Zamów pakiet Standard
Po opłaceniu włącz powłokę na ekranie SFTP w panelu. Tam też dodasz swój klucz publiczny.
-
Wgraj kod i załóż venv
Przez SSH sklonuj repozytorium do ~/apps/<nazwa>, załóż środowisko i zainstaluj zależności razem z serwerem: gunicorn albo uvicorn.
-
Dodaj aplikację w panelu
W „Dodaj aplikację” wybierasz framework: Django, Flask albo FastAPI / ASGI, a do tego domenę i ścieżkę. Gdy w venv brakuje serwera, panel odmawia i podaje komendę pip install do wklejenia.
Pytania o hosting Python
Co muszę przygotować, zanim dodam aplikację?
W katalogu ~/apps/<nazwa> gotowe środowisko venv z zainstalowanym serwerem: gunicorn dla Django i Flask, uvicorn dla FastAPI i reszty ASGI. Obiekt aplikacji ma nazywać się app i leżeć w pliku app.py. Wyjątkiem jest Django, gdzie projekt musi nazywać się tak samo jak aplikacja. Jeśli czegoś zabraknie, panel odmawia dodania i pokazuje, czego dokładnie.
FastAPI działa? A Starlette albo Litestar?
Tak, wszystkie. Obsługuje je jedna pozycja „ASGI” przy wyborze frameworka: FastAPI, Starlette, Litestar, Quart. Uruchamiamy je serwerem uvicorn. Wybór ma znaczenie, bo aplikacja ASGI podniesiona serwerem WSGI wstaje, melduje „działa” i zwraca błąd na każde żądanie. Dlatego framework jest osobnym polem, a nie domysłem.
Aplikacja stoi pod /api. Czy dokumentacja i przekierowania będą działać?
Tak. Aplikacji ASGI podajemy wtedy jej prefiks, bo serwer WWW zdejmuje go przed przekazaniem żądania. Bez tego interaktywna dokumentacja szukałaby swojego pliku w korzeniu domeny, a przekierowania gubiłyby przedrostek. Przy Flasku prefiks ustawiasz po swojej stronie, w aplikacji.
Na jakim porcie ma nasłuchiwać aplikacja?
Numeru nie wybierasz: przydzielamy go z puli 3001–3099 na Twoim kontenerze i wstawiamy do polecenia startowego. Aplikacja nasłuchuje lokalnie, a ruch z Twojej domeny kieruje na nią serwer WWW, razem z certyfikatem Let’s Encrypt.
Co się dzieje, gdy aplikacja padnie?
Gunicorna albo Uvicorna podnosi systemd, z rosnącym odstępem między próbami: najpierw po 2 sekundach, potem coraz rzadziej, najwyżej co minutę. Krótka przerwa, na przykład restart wspólnej bazy, mija więc bez Twojego udziału. Po 12 nieudanych startach w ciągu 15 minut aplikacja dostaje stan „nie działa”, w naszym pomiarze 8 minut od pierwszego upadku. Wtedy w panelu widzisz ogon logu z tracebackiem i restartujesz ją po poprawce.
Mogę używać PostgreSQL zamiast MariaDB?
Tak, silnik wybierasz przy zakładaniu bazy w panelu. W pakiecie Standard masz 25 baz i to wspólna pula dla obu silników, więc nie płacisz osobno za PostgreSQL. Sterowniki kompilują się bez przeszkód, bo nagłówki obu silników są w obrazie.
Połączę się z bazą z własnego komputera?
Nie z internetu: bazy nie mają publicznego adresu. Z przeglądarki wchodzisz w nie przez panel: phpMyAdmin dla MariaDB, Adminer dla PostgreSQL, jednorazowym podpisanym odnośnikiem. Zrzut bazy pobierzesz z panelu, a z poziomu swojego serwera łączysz się normalnie.
Czy to PostgreSQL zarządzany, z replikacją i wyborem wersji?
Nie. To baza dla Twojej aplikacji na tym koncie: bez osobnej usługi z replikacją, bez dostępu z zewnątrz i bez wyboru wersji. Jeśli szukasz bazy zarządzanej niezależnie od hostingu, to nie jest ta oferta i lepiej wiedzieć o tym teraz.
Postawię aplikację w Pythonie na pakiecie Start?
Venv trzeba założyć poleceniem na serwerze, a Start ma tylko SFTP, czyli kopiowanie plików bez powłoki. Panel nie włączy w nim powłoki, bo pakiet jej nie zawiera. Środowiska wirtualnego nie zakłada za Ciebie ani panel, ani my: komendę python3 -m venv venv i instalację zależności wykonujesz sam, a do tego potrzebna jest powłoka. Dlatego Python zaczyna się u nas od pakietu Standard.
Mój projekt wymaga innej wersji Pythona niż 3.13.
Interpreter jest jeden, systemowy, i nie instalujemy menedżerów wersji Pythona na koncie. Jeśli Twój projekt jest przywiązany do innej wersji, powiedz o tym przed zamówieniem, bo po zakupie tego nie obejdziemy.
Uruchomię dowolną komendę jako usługę?
Nie. Proces startuje z ustalonego wzorca: serwer WSGI albo ASGI wskazujący na obiekt aplikacji. Nie ma pola „wpisz własne polecenie”, więc proces spoza tego schematu nie wstanie jako usługa. Zadania cykliczne odpalisz harmonogramem z panelu.
A worker Celery?
Broker masz: Redis w Twoim kontenerze przyjmuje kolejkę Celery przez gniazdo uniksowe. Sam worker to proces spoza wzorca WSGI/ASGI, więc panel nie postawi go jako usługi. Uruchamiasz go sam przez SSH, a zadania cykliczne odpalasz harmonogramem z panelu.
Zainstalujecie zależności za mnie?
Nie. Venv zakładasz i wypełniasz sam, przez SSH. Panel tego nie robi i wprost odmawia dodania aplikacji, dla której środowiska nie ma, a w komunikacie podaje gotową komendę do wklejenia.
Przeniesiecie moją aplikację z innego hostingu?
Bezpłatnie przeniesiemy wszystkie Twoje strony na standardowym WordPressie albo PHP razem z pocztą ich domen. Dotyczy to każdego pakietu, także pocztowego. Projekt w Pythonie do niego nie wchodzi: venv i aplikację zakładasz sam, jak w krokach wyżej. Bezpłatnie przeniesiemy natomiast stronę firmową na WordPressie albo PHP i pocztę, które działają obok projektu.
Piszesz w Node.js? Opisuje go osobno strona o hostingu Node.js. Więcej odpowiedzi jest w pomocy.
Uruchom aplikację w Pythonie na pakiecie Standard.
Na start 25 baz PostgreSQL albo MariaDB, 128 MB na Redisa i 1,2 GB pamięci dla jednej aplikacji. Ta sama cena przy odnowieniu. Projekt wymaga biblioteki systemowej spoza listy? Zapytaj przed zamówieniem.