Django, Flask albo FastAPI, bez własnego VPS-a.
Wgrywasz kod, zakładasz środowisko wirtualne i wskazujesz domenę. Proces trzyma przy życiu system, certyfikat odnawia się sam, a bazę (MariaDB albo PostgreSQL) masz w pakiecie. Zaczyna się od pakietu z powłoką SSH, bo to Ty zakładasz venv.
- Python 3.13
- Django
- Flask
- FastAPI
- Starlette
- Litestar
- Quart
- PostgreSQL
Python zaczyna się u nas od pakietu Standard. Powód jest techniczny.
Środowisko wirtualne zakładasz Ty i tak ma zostać, bo to Twoje zależności i Twoje wersje. Ale skoro Ty je zakładasz, musisz mieć gdzie wpisać komendę.
Start (S)
SFTPKopiowanie plików, bez powłoki. Panel mówi to wprost: przy próbie włączenia powłoki odpowiada, że ten pakiet jej nie zawiera. Dodanie aplikacji bez gotowego venv kończy się odmową i słusznie, bo alternatywą byłoby zameldowanie sukcesu o aplikacji, która nie ma czym wstać.
Standard · Pro · Max
powłokaPełna powłoka na Twoim koncie. Zakładasz środowisko, instalujesz zależności, uruchamiasz migracje i zakładasz konto administratora, tak samo jak na swoim komputerze, tylko na serwerze:
Komplet limitów wszystkich pakietów, razem z pakietem Start, jest w cenniku. Aplikacje w Node.js opisuje osobno strona o hostingu Node.js.
Co dostaje Twój proces.
Cztery rzeczy, które da się sprawdzić w panelu albo w terminalu pierwszego dnia.
Python 3.13 i własne venv
Interpreter jest systemowy i wspólny dla wszystkich kont na maszynie, więc nie zajmuje Twojego dysku. Zależności trzymasz w środowisku wirtualnym per aplikacja, w ~/apps/<nazwa>/venv, więc dwie Twoje aplikacje mogą stać na różnych wersjach tej samej biblioteki.
gunicorn dla Django i Flask, uvicorn dla FastAPI
Framework wybierasz przy dodawaniu aplikacji, bo od tego zależy serwer. To nie jest formalność: FastAPI podniesione serwerem WSGI wstaje i melduje „działa”, a każde żądanie kończy się błędem. Jedna pozycja obsługuje FastAPI, Starlette, Litestar, Quart, bo wrapper jest dla nich identyczny.
Django: pliki statyczne obok aplikacji
Przy dodawaniu aplikacji Django zbieramy pliki statyczne, a serwer WWW oddaje je bezpośrednio z dysku, więc do Pythona idzie tylko to, co naprawdę musi. Migracje i konto administratora uruchamiasz sam, przez SSH.
Kompilatory i nagłówki wymienione z nazwy
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: psycopg i mysqlclient instalują się bez proszenia nas o cokolwiek. Nie jest to jednak komplet nagłówków dla dowolnej paczki z PyPI: jeśli Twoja zależność potrzebuje innej biblioteki systemowej, zapytaj przed zamówieniem: to zmiana w obrazie serwera, a nie ustawienie w panelu.
PostgreSQL jest w pakiecie, a nie w cenniku dodatków.
Silnik wybierasz przy zakładaniu bazy: MariaDB albo PostgreSQL. Obie liczą się do tej samej puli baz z Twojego pakietu, więc nie ma dopłaty za wybór jednej z nich.
Ile baz
25 w pakiecie Standard i więcej w wyższych; liczba jest w cenniku, w wierszu „Bazy”. Każdą zakładasz w panelu, razem z użytkownikiem i hasłem.
Skąd się łączysz
Aplikacja łączy się z bazą z Twojego serwera; 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.
Czego tu nie ma: PostgreSQL jako osobnej usługi z replikacją, dostępu z zewnątrz i wersji do wyboru. To baza dla Twojej aplikacji na tym koncie; jeśli szukasz bazy zarządzanej niezależnie od hostingu, to nie jest ta oferta i lepiej wiedzieć o tym teraz.
Ile pamięci dostanie aplikacja.
RAM i vCPU są z cennika, a pojedynczy proces aplikacji ma sufit 60% pamięci kontenera, po to, żeby jedna aplikacja nie położyła strony stojącej obok niej na tym samym koncie.
| Pakiet | RAM | Na proces | vCPU | Bazy |
|---|---|---|---|---|
| M · Standard | 2 GB | 1,2 GB | 2 | 25 |
| L · Pro | 4 GB | 2,4 GB | 3 | 50 |
| XL · Max | 6 GB | 3,6 GB | 4 | bez limitu |
- Port przydzielamy sami, z puli 3001–3099 na Twoim kontenerze; wstawiamy go do polecenia startowego, więc aplikacja nie musi go zgadywać.
- Katalog i nazwy są konwencją: ~/apps/<nazwa>, środowisko w podkatalogu venv, obiekt app w pliku app.py. Django ma własną konwencję: projekt nazywa się tak samo jak aplikacja.
- Restart po awarii jest wbudowany, ale nie jest wieczny: limit to 12 prób w oknie 15 minut, a po nim aplikacja trafia w stan „nie działa”, zamiast bez końca obciążać serwer. Stan i ogon logu widzisz w panelu.
Czego tu nie ma.
To jest hosting współdzielony z aplikacjami, nie platforma wdrożeniowa i nie baza zarządzana. Lepiej, żebyś przeczytał tę listę teraz.
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 starszej wersji, powiedz o tym przed zamówieniem, bo po zakupie tego nie obejdziemy.
Dowolnej komendy jako usługi
Proces startuje z ustalonego wzorca: serwer WSGI albo ASGI wskazujący na obiekt aplikacji. Nie ma pola „wpisz własne polecenie”, więc worker kolejki poza tym schematem nie wstanie jako usługa; zadania cykliczne odpalisz harmonogramem z panelu.
Redisa, Celery i brokera w pakiecie
Nie prowadzimy ich jako osobnych usług. Kolejka zadań musi oprzeć się na czymś, co uruchomisz w swoim koncie albo na bazie danych, a bazy masz w pakiecie.
Instalowania zależności za Ciebie
Venv zakładasz i wypełniasz sam, przez SSH. Panel tego nie robi i wprost odmawia dodania aplikacji, dla której środowiska nie ma, i podaje w komunikacie gotową komendę do wklejenia.
Nie jesteśmy jedyni, ale różnicę widać w liczbach
Python na hostingu współdzielonym ma w Polsce co najmniej dziewięciu dostawców i część z nich uruchamia aplikację kreatorem. Porównaj to, co rozstrzyga o działaniu aplikacji: ile pamięci dostaje Twój proces, czy ten limit jest zapisany w cenniku, ile baz i w którym silniku masz w cenie i co się dzieje, gdy Twoja aplikacja zacznie padać. Wszystkie cztery odpowiedzi stoją wyżej na tej stronie, z liczbami.
Pytania o aplikacje w Pythonie.
Postawię aplikację w Pythonie na pakiecie Start?
Nie polecamy tego i mówimy dlaczego. Start ma SFTP, czyli kopiowanie plików bez powłoki, a panel odmawia jej włączenia, bo pakiet jej nie zawiera. Tymczasem ś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.
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.
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 i to jest decyzja o bezpieczeństwie, nie przeoczenie. 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.
Co się dzieje, gdy aplikacja padnie?
System podnosi ją sam, z rosnącym odstępem między próbami, bo przyczyną bywa coś po naszej stronie, na przykład restart wspólnej bazy. Awaria, która mija w ciągu 7 minut, leczy się więc sama. Trwała kończy się inaczej: limit to 12 prób w oknie 15 minut, a po nim aplikacja trafia w stan „nie działa” zamiast obciążać serwer bez końca, w naszym pomiarze 8 minut od pierwszego upadku. Stan i ogon logu widzisz w panelu.
Aplikacja stoi dziś gdzie indziej? Przeniesiemy stronę w granicach opisanych przy migracji. Więcej odpowiedzi jest w pomocy.
Postaw aplikację tam, gdzie limity są zapisane w cenniku.
Pakiet Standard: 2 GB RAM, 2 vCPU, 25 baz i pełna powłoka SSH. Cena odnowienia równa startowej.