Aplikacja w Node.js, bez własnego VPS-a.
Wgrywasz kod, wybierasz wersję Node i domenę, a proces trzyma przy życiu system: bez stawiania serwera, konfigurowania zapory i pilnowania certyfikatów. Zaczyna się od pakietu z powłoką SSH, bo bez niej nie ma gdzie uruchomić instalacji zależności.
Node zaczyna się u nas od pakietu Standard. Powód jest techniczny.
Nie chodzi o to, żeby sprzedać droższy pakiet. Chodzi o to, że aplikacja Node potrzebuje miejsca, w którym wykonasz instalację zależności, a tym miejscem jest powłoka.
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. Zależności musiałbyś budować u siebie i wgrywać cały katalog node_modules przez SFTP, da się, ale wtedy każda aktualizacja zależności to ponowna wysyłka całego katalogu, a jego zawartość liczy się do dysku pakietu, którego w Start jest 10 GB.
Standard · Pro · Max
powłokaPełna powłoka na Twoim koncie. Tu wykonujesz npm install, npm run build i migracje bazy, tu czytasz logi i tu naprawiasz, gdy coś nie wstaje. W kontenerze czekają gotowe narzędzia:
- git
- composer
- wp-cli
- rsync
- sqlite3
- tmux
Powłoka przydaje się też poza Node: wp i composer stoją w każdym kontenerze, więc aktualizacja WordPressa albo instalacja paczki Composera to jedna komenda, a nie klikanie w panelu. Komplet limitów wszystkich pakietów jest w cenniku.
Co dostaje Twój proces.
Cztery rzeczy, które da się sprawdzić w panelu albo w terminalu pierwszego dnia.
Node 20, 22, 24, wersja per aplikacja
Linie 20, 22, 24 są wbudowane w obraz serwera, a wersję wybierasz osobno dla każdej aplikacji. Panel czyta listę z Twojego kontenera, nie z własnej tabelki, więc nie wybierzesz wersji, której tam nie ma. Domyślna to 22.
Własny kontener, nie wspólne środowisko
Twoja aplikacja stoi w osobnym kontenerze: własne procesy, własny system plików, własna wersja Node. RAM i vCPU są z pakietu i egzekwowane automatycznie, a pojedynczy proces aplikacji ma sufit 60% RAM kontenera, a reszta zostaje dla serwera WWW i PHP. W pakiecie Standard to 1,2 GB na proces.
systemd zamiast pm2
Aplikacja jest zwykłą usługą systemu: wstaje po awarii i po restarcie serwera, logi idą do dziennika, a restart i podgląd logów masz w panelu. pm2 świadomie nie stawiamy: to drugi proces nadzorujący na konto, który kosztuje 30–50 MB RAM i robi to, co system robi już bez niego. Wolimy zostawić tę pamięć Twojej aplikacji.
Domena, HTTPS i websockety
Przed aplikacją stoi serwer WWW: przyjmuje ruch z Twojej domeny i przekazuje go na port aplikacji. Certyfikat Let’s Encrypt jest ten sam, co dla stron PHP, i odnawia się sam. Websockety przechodzą. Aplikacja może stać pod korzeniem domeny albo pod podścieżką, np. /api.
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 | Dysk NVMe |
|---|---|---|---|---|
| M · Standard | 2 GB | 1,2 GB | 2 | 25 GB |
| L · Pro | 4 GB | 2,4 GB | 3 | 50 GB |
| XL · Max | 6 GB | 3,6 GB | 4 | 80 GB |
- Port przydzielamy sami, z puli 3001–3099 na Twoim kontenerze. Aplikacja czyta go ze zmiennej PORT (process.env.PORT) i nasłuchuje lokalnie; ruch z domeny kieruje na nią serwer WWW.
- Katalog i plik startowy są konwencją: ~/apps/<nazwa> i server.js. Nie ma pola „polecenie do uruchomienia”, więc nie da się go wypełnić w sposób, którego potem nikt nie odtworzy.
- 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 w nieskończoność obciążać serwer. Stan i ogon logu widzisz w panelu.
- Baza jest w pakiecie: MariaDB albo PostgreSQL, 25 baz w pakiecie Standard. Z internetu baz nie wystawiamy; aplikacja łączy się z nimi z Twojego serwera, a Ty z przeglądarki: przez panel.
Czego tu nie ma.
To jest hosting współdzielony z aplikacjami, nie platforma wdrożeniowa. Lepiej, żebyś przeczytał tę listę teraz.
Dockera i obrazów kontenerowych
Nie uruchamiamy Twojego pliku Dockerfile. Aplikacja startuje jako zwykły proces w systemie, z katalogu, który wgrywasz.
Budowania po stronie serwera
Instalację zależności i budowanie paczki uruchamiasz sam, przez SSH. Nie ma wyzwalacza na wysłanie zmian do repozytorium i nie kompilujemy kodu za Ciebie; dlatego właśnie powłoka jest tu warunkiem, a nie dodatkiem.
Redisa i Memcached jako usługi
Nie prowadzimy ich jako osobnej usługi w pakiecie. Kolejka i cache po stronie aplikacji muszą oprzeć się na czymś, co uruchomisz u siebie albo na bazie danych.
Wsparcia producenta dla linii 20
Linia 20 zakończyła cykl wsparcia 30 kwietnia 2026 i od tego dnia nie dostaje już poprawek bezpieczeństwa od Node.js. Trzymamy ją, żeby starsze aplikacje w ogóle wstały, ale nową stawiaj na 22 albo 24.
Nie jesteśmy jedyni, ale różnicę widać w liczbach
Node 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 limit jest zapisany w cenniku, czy dzielisz środowisko z cudzymi aplikacjami i co się dzieje, gdy Twoja aplikacja zacznie padać. Wszystkie cztery odpowiedzi stoją wyżej na tej stronie, z liczbami.
Pytania o aplikacje Node.
Postawię aplikację Node 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. Bez powłoki nie wykonasz na serwerze npm install ani npm run build; musiałbyś budować zależności u siebie i wgrywać cały katalog node_modules. Technicznie da się, praktycznie każda aktualizacja zależności oznacza ponowne wysłanie tego katalogu przez SFTP, a jego zawartość liczy się do dysku pakietu, którego w Start jest 10 GB. Dlatego Node zaczynamy od pakietu Standard.
Na jakim porcie ma nasłuchiwać moja aplikacja?
Na tym, który poda zmienna środowiskowa PORT, czyli process.env.PORT w kodzie. Numeru nie wybierasz: przydzielamy go z puli 3001–3099 na Twoim kontenerze, a serwer WWW kieruje na niego ruch z domeny. Aplikacja ma nasłuchiwać na adresie lokalnym, nie na wszystkich interfejsach.
Gdzie wgrywam kod i jak nazywa się plik startowy?
Kod trafia do katalogu ~/apps/<nazwa> w Twoim koncie, a plikiem startowym jest server.js. To konwencja, nie pole do wypełnienia; dzięki temu uruchomienie wygląda tak samo na każdym koncie i da się o nim rozmawiać przez telefon.
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 i nie musisz o niej wiedzieć. 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 w nieskończoność obciążać serwer, w naszym pomiarze 8 minut od pierwszego upadku. Panel pokazuje stan i ogon logu, więc widzisz, co się stało.
Dodam aplikację, która nie wstaje. Co zobaczę?
Odmowę z powodem, nie „gotowe”. Po uruchomieniu czekamy 5 sekund i sprawdzamy, czy proces się utrzymał; jeśli nie, dodanie kończy się błędem, a w komunikacie dostajesz ogon logu. To jedyny ekran, na którym dowiadujesz się, dlaczego Twój kod nie wstał, więc nie zastępujemy go zielonym znaczkiem.
Mogę mieć kilka aplikacji na jednej domenie?
Tak, jeśli stoją na rozłącznych podścieżkach, na przykład /api i /panel. Aplikacja pod korzeniem domeny zajmuje ją całą i wtedy druga już się nie zmieści; próba wpięcia nachodzącej ścieżki kończy się jasną odmową z nazwą kolidującej aplikacji, a nie cichym „wpięte, ale nieosiągalne”.
Gdzie trzymam własne zmienne środowiskowe i klucze API?
W pliku swojej aplikacji, nie w pliku środowiska usługi. Ten drugi odtwarzamy przy każdej zmianie ustawień aplikacji i niesie tylko PORT oraz NODE_ENV, więc Twoje dopiski by z niego zniknęły, i to w najmniej spodziewanym momencie.
Potrzebuję wersji Node spoza 20, 22, 24.
Rozdzielmy dwie rzeczy, bo odpowiedź jest inna w każdej. Do pracy przez SSH odpowiedź brzmi tak: na życzenie instalujemy taką wersję w Twoim katalogu domowym, obok wersji z obrazu, i zbudujesz nią paczkę czy uruchomisz narzędzie. Ale aplikacja prowadzona z panelu chodzi wyłącznie na wersjach z obrazu (20, 22, 24): jej polecenie startowe wskazuje na interpreter z obrazu wprost, a dodanie aplikacji z inną wersją kończy się odmową, nie cichym podstawieniem innej. Jeśli Twój kod wymaga innej linii do URUCHOMIENIA, napisz do nas przed zamówieniem; po zakupie tego nie obejdziemy.
Piszesz w Pythonie? Django, Flask i FastAPI opisuje osobno strona o hostingu Pythona. Aplikacja stoi dziś gdzie indziej? Przeniesiemy ją, w granicach opisanych przy migracji.
Postaw aplikację tam, gdzie limity są zapisane w cenniku.
Pakiet Standard: 2 GB RAM, 2 vCPU, 25 GB dysku i pełna powłoka SSH. Cena odnowienia równa startowej.