Dealownia
Menu
sprawdzono – jak sprawdzamy oferty

Coolify, Dokploy czy CapRover: własny Heroku na VPS

Co dają Coolify, Dokploy i CapRover, jakie mają wymagania i porty, bezpieczna instalacja Coolify krok po kroku i kiedy wystarczy zwykły compose z nginx.

Aplikacje na własnym serwerzezaktualizowano 8 min czytania

Redakcja serwisu Dealownia · ceny i fakty ze stron dostawców, jak sprawdzamy

Coolify, Dokploy i CapRover robią z VPS-a platformę w stylu Heroku: w panelu wskazujesz repozytorium albo obraz Dockera, wpisujesz domenę, a platforma buduje aplikację, uruchamia kontener, wystawia certyfikat HTTPS i przekierowuje ruch. Wszystkie trzy są darmowe do samodzielnego hostowania i wszystkie przejmują porty 80 i 443 na serwerze. To najważniejsza decyzja: taki panel stawiasz na osobnym, świeżym VPS-ie, a nie obok nginx i usług z innych poradników.

Co każdy z nich daje

Dane z dokumentacji i repozytoriów projektów, sprawdzone 12.11.2026:

Coolify Dokploy CapRover
Minimalne wymagania 2 rdzenie, 2 GB RAM, 10 GB wolnego dysku 2 GB RAM, 30 GB dysku 1 GiB RAM, 5 GiB wolnego dysku, publiczne IPv4
Architektura amd64, arm64 nie podano na stronie instalacji AMD64, ARM64
Panel zaraz po instalacji port 8000 (oraz 6001 i 6002 dla odświeżania na żywo i terminala) port 3000 port 3000, hasło startowe captain42
Proxy dla aplikacji proxy Coolify z HTTPS Traefik nginx z Let’s Encrypt
Co wdraża repozytorium Git, Dockerfile, Docker Compose, gotowy obraz; bazy danych; gotowe usługi z szablonów aplikacje w wielu językach, Docker Compose, bazy (m.in. PostgreSQL, MySQL, MariaDB, MongoDB, Redis), ponad 600 szablonów aplikacje, bazy i gotowe aplikacje „one-click” z listy
Kopie konfiguracja kopii baz automatyczne kopie baz na zewnętrzny magazyn, kopie wolumenów brak w opisie projektu
Wiele serwerów tak, kolejne serwery przez SSH tak, zdalne serwery i Docker Swarm tak, klaster Docker Swarm
Licencja Apache 2.0 Apache 2.0, z wyjątkiem katalogów /proprietary na osobnej licencji Apache 2.0 z aneksem ograniczającym modyfikowanie i redystrybucję płatnych funkcji

Jak to czytać w praktyce:

  • Coolify ma najszerszy zakres i pozwala zarządzać kilkoma serwerami z jednego panelu. Wymaga najwięcej zasobów z tej trójki.
  • Dokploy stoi na Traefiku i ma mocny nacisk na Docker Compose i szablony. Dokumentacja wprost tłumaczy zapas 30 GB dysku tym, że budowanie obrazów potrafi zablokować system przy braku miejsca.
  • CapRover ma najniższe wymagania z tej trójki i jest oparty na Docker Swarm i nginx. Ma też CLI (npm install -g caprover) do konfiguracji i wdrożeń z własnego komputera.

Minimalne wymagania to wymagania samego panelu. Do nich dochodzą Twoje aplikacje i – co łatwo przeoczyć – budowanie obrazów z kodu, które bywa bardziej pamięciożerne niż działająca aplikacja. Dlatego przy panelu celuj wyżej niż minimum, a po kilku wdrożeniach sprawdź rzeczywiste zużycie w docker stats. Plany porównasz w rankingu VPS; niżej są oferty od 4 GB RAM.

Kiedy zwykły compose z nginx jest lepszy

Panel wdrożeniowy to wygoda, ale też kolejny element, który zużywa RAM, wymaga aktualizacji i jest celem ataku – ma dostęp do Dockera, czyli w praktyce do roota na serwerze. Zwykły Docker Compose z nginx na hoście, jak w poradniku o reverse proxy, jest lepszy, gdy:

  • masz jedną–trzy aplikacje, które zmieniasz rzadko;
  • serwer ma 1–2 GB RAM;
  • na serwerze już działają usługi z innych poradników (Umami, n8n, Vaultwarden) – panel chce mieć porty 80 i 443 dla siebie;
  • chcesz rozumieć każdy element konfiguracji i trzymać go w Gicie.

Panel ma sens, gdy wdrażasz często, kilka projektów naraz, z gałęzi Gita, i chcesz podglądać logi i zmieniać zmienne środowiskowe bez SSH. Gotowy szkielet compose bez panelu jest w poradniku o stacku Docker Compose.

Instalacja Coolify krok po kroku

Opisujemy Coolify, bo jego dokumentacja najdokładniej opisuje zabezpieczenie panelu na czas instalacji. Dla Dokploy i CapRovera zasady są te same: świeży serwer, porty panelu zamknięte dla świata, natychmiastowe ustawienie konta i hasła.

Czego potrzebujesz

  • Świeży VPS z Ubuntu 24.04 LTS (dokumentacja zaleca wydania LTS), co najmniej 2 vCPU i 2 GB RAM, lepiej 4 GB.
  • Dostęp przez SSH kluczem i użytkownika z sudo – jak w poradniku od zera, ale bez instalowania nginx (zająłby porty 80 i 443).
  • Docker, jeśli już jest, zainstalowany oficjalną metodą. Docker ze snapa trzeba według dokumentacji usunąć przed instalacją.
  • Domenę z możliwością dodania rekordu A, np. coolify.example.pl.

Krok 1. Zapora u dostawcy, nie tylko ufw

Dokumentacja Coolify ostrzega, że reguły, które Docker dopisuje do iptables, potrafią ominąć ufw, więc zablokowanie portu w ufw nie gwarantuje, że opublikowany port kontenera jest zamknięty. Dlatego ustaw zaporę w panelu dostawcy VPS (np. Cloud Firewall w Hetznerze – opis w poradniku Pierwszy serwer w Hetzner Cloud) i wpuść tylko:

  • TCP 22 (SSH),
  • TCP 80 i 443 (aplikacje i certyfikaty).

Portów 8000, 6001 i 6002 nie otwieraj. Dokumentacja wymienia je jako potrzebne do dostępu przez sam adres IP – zamiast tego dostaniesz się do panelu tunelem SSH. Jeśli dostawca nie ma zapory w panelu, dokumentacja Coolify zaleca narzędzie ufw-docker.

Krok 2. Pobierz i obejrzyj skrypt instalacyjny

Oficjalna instrukcja to curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash uruchomione jako root. Taki skrypt robi na serwerze wszystko z pełnymi uprawnieniami, więc najpierw go pobierz i przeczytaj:

bash
curl -fsSL https://cdn.coollabs.io/coolify/install.sh -o coolify-install.sh
less coolify-install.sh

Według dokumentacji skrypt instaluje podstawowe pakiety (curl, wget, git, jq, openssl), instaluje Docker Engine, ustawia logowanie i demona Dockera, tworzy katalogi w /data/coolify, generuje klucze SSH do zarządzania serwerem i uruchamia Coolify. Źródło skryptu jest też w repozytorium projektu na GitHubie (scripts/install.sh w gałęzi v4.x). Jeśli wolisz zrobić każdy krok samodzielnie, dokumentacja opisuje instalację ręczną: katalogi, klucz SSH, pliki compose, sekrety, sieć Dockera i start przez Compose.

Gdy przeczytałeś skrypt:

bash
sudo bash coolify-install.sh

Krok 3. Konto administratora od razu, przez tunel

To najważniejszy moment całej instalacji. Dokumentacja Coolify ostrzega, że kto pierwszy wejdzie na stronę rejestracji, ten zostaje administratorem instancji i dostaje dostęp do roota na serwerze. Pierwsze konto można założyć w ciągu 10 minut od startu Coolify. Dzięki zaporze z kroku 1 nikt poza Tobą nie dojdzie do portu 8000, a Ty wejdziesz tunelem. Na swoim komputerze:

bash
ssh -N -L 8000:127.0.0.1:8000 -L 6001:127.0.0.1:6001 -L 6002:127.0.0.1:6002 deploy@203.0.113.10

Otwórz http://localhost:8000 i od razu załóż konto z długim, unikalnym hasłem z menedżera haseł. Jeśli zobaczysz komunikat „Setup window closed”, dokumentacja każe zrestartować kontener coolify i odświeżyć stronę:

bash
sudo docker restart coolify

Krok 4. Panel pod własną domeną z HTTPS

  1. Dodaj rekord A coolify.example.pl → 203.0.113.10 i poczekaj, aż się rozejdzie (dig +short coolify.example.pl). Dokumentacja wymaga, żeby DNS wskazywał serwer z Coolify, zanim zmienisz adres panelu.
  2. W panelu: Settings → General, pole URL: https://coolify.example.pl. Adres musi zawierać protokół; panel pod ścieżką (np. example.pl/coolify) nie jest obsługiwany.
  3. Nie używaj dla panelu domeny, którą ma któraś aplikacja – dokumentacja ostrzega przed nieprzewidywalnym zachowaniem certyfikatów i routingu.

Od tej chwili panel, odświeżanie na żywo i terminal działają przez porty 80 i 443, a porty 8000, 6001 i 6002 mogą zostać zamknięte na stałe. Tunel SSH możesz zamknąć.

Krok 5. Pierwsza aplikacja

W panelu dodaj nową aplikację – według dokumentacji źródłem może być repozytorium Git, Dockerfile, plik Docker Compose albo gotowy obraz. Dla aplikacji podajesz domenę (np. https://app.example.pl, z rekordem A na ten sam serwer), port, na którym aplikacja słucha w kontenerze, i zmienne środowiskowe. Proxy Coolify wystawi certyfikat i przekieruje ruch. Bazy danych dodajesz jako osobne zasoby – nie publikuj ich portów na świat; aplikacja łączy się z bazą wewnątrz sieci Dockera.

Krok 6. Kopie i aktualizacje

Dokumentacja Coolify zaznacza, że za przetestowaną strategię kopii i odtwarzania odpowiadasz Ty. Minimum:

  • kopie baz danych skonfigurowane w panelu,
  • kopia katalogu /data/coolify (konfiguracja, klucze – dokumentacja osobno wymienia plik /data/coolify/source/.env z sekretami, m.in. APP_KEY; sama kopia też musi być chroniona jak sekret) i wolumenów aplikacji poza serwerem, np. narzędziem restic jak w poradniku o kopiach,
  • test odtworzenia co jakiś czas.

Aktualizacje panelu zrób dopiero po wykonaniu kopii. Dostępne są kanały preview i nightly (--preview, --nightly przy instalacji) – na serwerze z ważnymi aplikacjami zostań przy stabilnym.

Jeśli wybierzesz Dokploy albo CapRovera

  • Dokploy: instalator curl -sSL https://dokploy.com/install.sh | sh – ten sam sposób: pobierz plik (curl -sSL https://dokploy.com/install.sh -o dokploy-install.sh), przeczytaj, uruchom jako root (sudo sh dokploy-install.sh). Dokumentacja podaje, że instalacja się nie powiedzie, jeśli porty 80, 443 lub 3000 są zajęte, i każe otworzyć port 3000 dla strony konfiguracji. Zamiast otwierać go dla świata, wejdź tunelem ssh -N -L 3000:127.0.0.1:3000 … i od razu załóż konto. Konkretną wersję zainstalujesz skryptem install.sh dołączonym do danego wydania na GitHubie.
  • CapRover: instalator pobierasz do pliku (curl -fsSL https://get.caprover.com -o caprover-install.sh), więc łatwo go przejrzeć przed sudo bash caprover-install.sh; dokumentacja podaje też tryb samego sprawdzenia serwera bez zmian: sudo bash caprover-install.sh --check. Dokumentacja wymaga publicznie dostępnych portów 80, 443 i 3000. Hasło startowe captain42 zmień od razu po pierwszym logowaniu, a do tego czasu ogranicz port 3000 w zaporze dostawcy do własnego adresu IP.

Najczęstsze problemy

  • Instalator kończy się błędem zajętego portu. Na serwerze działa nginx, Apache albo inny kontener na 80/443. Panel potrzebuje tych portów – użyj świeżego serwera.
  • Certyfikat dla aplikacji się nie wystawia. Rekord A nie wskazuje jeszcze serwera albo port 80 jest zamknięty w zaporze dostawcy – walidacja Let’s Encrypt wymaga go.
  • Budowanie aplikacji zawiesza serwer. Brak RAM albo dysku podczas budowania obrazu. Zwiększ plan, dodaj swap tylko jako zabezpieczenie albo buduj obraz poza serwerem (w CI) i wdrażaj gotowy.
  • Dysk się zapełnia. Stare obrazy i warstwy budowania. Sprawdź docker system df i usuń nieużywane obrazy.
  • Panel dostępny po IP z internetu. Port 8000 (Coolify) albo 3000 (Dokploy, CapRover) jest otwarty w zaporze dostawcy. Zamknij go – ufw tego nie załatwi.

Źródła

Sprawdzone 12.11.2026:

Powiązane poradniki