Przejdź do treści

Ustawienia cookies

Poniżej wypisujemy nazwa po nazwie, co ta strona zapisuje w Twojej przeglądarce. Możesz tu wrócić w każdej chwili. Odnośnik „Ustawienia cookies” stoi w stopce każdej strony.

Polityka prywatności §7
isbre
Hosting Python

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

Pakiet Standard z powłoką SSH od 9,90 zł netto/mc przy płatności za rok, czyli 118,80 zł netto za rok

ta sama cena przy odnowieniu

Pakiet 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.

Na start z Pythonem

M · Standard

Aplikacja w Django albo Flasku z bazą PostgreSQL, obok strony firmowej.

9,90 zł netto/mc przy płatności za rok, czyli 118,80 zł netto za rok

RAM
2 GB
Na aplikację
1,2 GB
vCPU
2
Bazy
25
Miejsce na bazy
5 GB
Redis
128 MB
Transfer danych
bez limitu
Migracja
w cenie

Zamów M

L · Pro

Kilka aplikacji na jednym koncie, na przykład panel w Django i API w FastAPI.

16,90 zł netto/mc przy płatności za rok, czyli 202,80 zł netto za rok

RAM
4 GB
Na aplikację
2,4 GB
vCPU
3
Bazy
50
Miejsce na bazy
10 GB
Redis
256 MB
Transfer danych
bez limitu
Migracja
w cenie

Zamów L

XL · Max

Duży projekt w Django: aplikacja, worker Celery i Redis na jednym koncie, z zapasem pamięci.

24,90 zł netto/mc przy płatności za rok, czyli 298,80 zł netto za rok

RAM
6 GB
Na aplikację
3,6 GB
vCPU
4
Bazy
bez limitu
Miejsce na bazy
16 GB
Redis
512 MB
Transfer danych
bez limitu
Migracja
w cenie

Zamów XL

Jedna domena .pl, .com.pl albo .co.pl gratis na pierwszy rok w pakietach L i XL, odnowienie według cennika

Testuj przez 14 dni – zwrot pieniędzy w razie rezygnacji

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.

  1. 01

    Zamów pakiet Standard

    Po opłaceniu włącz powłokę na ekranie SFTP w panelu. Tam też dodasz swój klucz publiczny.

  2. 02

    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.

    cd ~/apps/<nazwa> && python3 -m venv venv venv/bin/pip install gunicorn django

  3. 03

    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.