Coolify i Claude Code: wdrożenie projektu na własnym VPS-ie
MarkdownInstalacja Coolify, łączenie z GitHubem, wdrażanie Next.js, domena i HTTPS, MCP, wymagania VPS oraz rozwiązywanie problemów. Techniczne ceny podane w dolarach i oryginalne ograniczenia.
Przeczytaj cały artykuł
Dokumentacja Ailoot — materiały referencyjne dotyczące korzystania z usługi.
Ograniczenia platform i warunki płatności w 2026 roku
Najważniejszy wniosek
Darmowe plany działają, dopóki po raz pierwszy nie przekroczysz limitu; potem potrzebna jest międzynarodowa karta. Heroku zamknęło darmowy plan dla wszystkich w 2022 roku i w lutym 2026 roku przeszło w tryb utrzymaniowy. W przypadku self-hostowanego Coolify serwer należy do Ciebie; nie ma opłat za stanowisko ani uzależnienia od dostawcy.
Typowy scenariusz dla osoby tworzącej aplikacje metodą vibe coding w 2026 roku: wieczorem tworzysz MVP w Cursorze lub Claude Code, przenosisz je do repozytorium GitHub, otwierasz vercel.com → łączysz repozytorium → dochodzisz do ekranu subskrypcji → podajesz kartę → otrzymujesz Transaction declined.
To nie jest błąd ani chwilowa awaria.
Railway, Render, Heroku — wszędzie wygląda to tak samo. Heroku faktycznie zamknęło darmowy plan dla wszystkich w 2022 roku, a w lutym 2026 roku projekt przeszedł w tryb utrzymaniowy — bez nowych funkcji i nowych umów Enterprise. Dla użytkownika z nieobsługiwaną kartą oznacza to: „drzwi są zamknięte; obejdź je przez pośrednika pobierającego 20% prowizji”.
Możesz płacić przez wirtualne karty Visa w Kazachstanie albo firmowe usługi płatnicze. Oznacza to jednak dodatkowe 20% do ceny, 30 minut na każdą transakcję i ryzyko zablokowania konta, gdy operator płatności wykryje niezgodność kraju.
W oryginalnym przykładzie uwzględniono trzy próby — w Vercel Pro, Railway i Render.
Czym jest Coolify i jak działa platforma self-hosted?
Najważniejszy wniosek
Coolify to platforma PaaS o otwartym kodzie źródłowym, którą można hostować samodzielnie, i bezpośrednia alternatywa dla Heroku, Vercel i Netlify. Instaluje się ją jednym poleceniem curl na dowolnym VPS-ie z Ubuntu. Pod spodem wykorzystuje Docker + Traefik jako reverse proxy oraz Let's Encrypt do obsługi HTTPS. Oferuje integrację z GitHubem, webhooki do automatycznych wdrożeń, kopie zapasowe S3 i ponad 280 usług uruchamianych jednym kliknięciem (PostgreSQL, Redis, MinIO). Wersja self-hosted jest zawsze bezpłatna i nie ma limitów. Projekt ma 55,800 gwiazdek w serwisie GitHub i licencję Apache-2.0.
Coolify to projekt o otwartym kodzie źródłowym, zbudowany przy użyciu Laravel + Docker, który zamienia dowolny pusty VPS w platformę do wdrażania aplikacji. Zainstaluj Coolify raz, a potem rób wszystko z poziomu interfejsu internetowego: połącz GitHub, wybierz repozytorium i kliknij Deploy.
Oficjalna dokumentacja ujmuje to krótko i precyzyjnie:
Coolify to alternatywa o otwartym kodzie źródłowym, którą można hostować samodzielnie, dla Heroku / Netlify / Vercel itp.
Pod spodem Coolify składa się z czterech części:
- Interfejs internetowy zbudowany przy użyciu Laravel 12 + Livewire 3 + Tailwind v4 — panel do zarządzania aplikacjami.
- Docker + Docker Compose — każda aplikacja działa w kontenerze, odizolowana od pozostałych.
- Reverse proxy (Traefik lub Caddy) — odbiera przychodzący ruch HTTP/HTTPS i kieruje go do kontenerów.
- Integracja z Let's Encrypt — automatycznie wystawia i odnawia certyfikaty SSL dla wszystkich domen.
Najważniejsze funkcje, dzięki którym Coolify pod względem funkcjonalnym dorównuje Vercelowi:
| Funkcja | Vercel | Coolify |
|---|---|---|
| Automatyczne wdrożenie po git push | ✅ | ✅ (przez webhook GitHub) |
| Bezpłatne HTTPS | ✅ | ✅ (Let's Encrypt) |
| Wdrożenia podglądowe PR | ✅ | ✅ (przez GitHub App) |
| Interfejs do zmiennych środowiskowych | ✅ | ✅ |
| Kopie zapasowe baz danych | ❌ (nie ma własnych baz danych) | ✅ (w pamięci zgodnej z S3) |
| PostgreSQL / Redis / MongoDB | $20+/miesiąc każda | ✅ Jednym kliknięciem, bezpłatnie |
| Zadania zaplanowane (cron) | ❌ | ✅ (składnia cron) |
| Opłata za stanowisko | $20/stanowisko/miesiąc | Brak |
| Uzależnienie od dostawcy | Duże (Edge Functions, ISR) | Żadne (Twój Docker) |
| Globalna sieć CDN | ✅ | ❌ (tylko Twój VPS) |
Globalna sieć CDN to jedyna funkcja, której Coolify nie oferuje od razu. To uczciwa odpowiedź. Jeśli Twój projekt ma odbiorców na całym świecie i chcesz zmniejszyć opóźnienia dla użytkowników w USA i Europie, umieść przed nim Cloudflare; w przypadku treści statycznych jest bezpłatny.
Cena: wersja self-hosted jest zawsze bezpłatna i nie ma limitów liczby aplikacji, serwerów ani wdrożeń. Coolify Cloud jest dostępny za $5/miesiąc za 2 serwery + $3 za każdy kolejny — same serwery nadal należą jednak do Ciebie; Coolify Cloud hostuje tylko panel.
Najnowsze wydanie to v4.1.0 z 18 maja 2026 roku. Nowe funkcje obejmują pakiet do budowania Railpack w wersji beta, rejestrowanie audytu, różnice konfiguracji między wdrożeniami oraz natywny endpoint MCP (tylko do odczytu). Źródło: wydania w serwisie GitHub.
Jaki VPS wybrać do Coolify w 2026 roku?
Najważniejszy wniosek
Coolify wymaga minimum 2 vCPU, 2 GB RAM, 30 GB SSD i Ubuntu LTS (20.04, 22.04 lub 24.04). Taki VPS bez problemu uruchomi równolegle 3–5 projektów stworzonych metodą vibe coding.
Minimalne wymagania Coolify pochodzą bezpośrednio z oficjalnej dokumentacji:
| Parametr | Minimum | Zalecane |
|---|---|---|
| CPU | 2 rdzenie | 2–4 rdzenie |
| RAM | 2 GB | 4 GB (z zapasem na buildy) |
| Pamięć masowa | 30 GB | 50–80 GB (na obrazy + bazy danych) |
| Architektura | AMD64 lub ARM64 (64-bit) | AMD64 |
| System operacyjny | Ubuntu LTS 20.04 / 22.04 / 24.04 | 22.04 LTS |
| Root | Wymagany | Przez klucz SSH, nie hasło |
Minimum — 2 GB RAM — to bezwzględna dolna granica. Przy 1 GB instalator dochodzi do Dockera, napotyka OOM (brak pamięci) i zawiesza się. Nie oszczędzaj na RAM-ie.
Źródła cen: Timeweb Cloud, FirstVDS oraz Selectel.
Jeśli potrzebujesz większej mocy (baza danych o rozmiarze 100 GB, kilka instancji Postgres), wybierz Aeza Dedicated.
Czego NIE wybierać:
- Współdzielony VPS z 512 MB–1 GB RAM — za mało nawet dla Coolify. To rozwiązanie dla statycznych witryn na nginx, nie dla platformy PaaS.
Chcesz nie tylko skonfigurować wdrażanie, ale też zbudować konfigurację, która zapewni Claude niezawodność? Coolify jest narzędziem wykonawczym, ale bez uporządkowanego kontekstu (CLAUDE.md, drugiego mózgu i inżynierii kontekstu) Claude nadal będzie halucynować przy długich zadaniach. Pełna konfiguracja obejmuje wszystkie trzy elementy: klon AI + Drugi Mózg + Inżynieria Kontekstu — to połączenie zmienia Claude z „asystenta, który halucynuje” w niezawodne narzędzie.
Jak zainstalować Coolify w 5 minut
Najważniejszy wniosek
Instalacja wymaga jednego polecenia curl z dokumentacji. Po jej rozpoczęciu pojawi się interfejs internetowy na porcie 8000. Tam tworzysz pierwszego użytkownika administratora i widzisz pusty panel. Od pustej instalacji Ubuntu do działającego Coolify mija faktycznie 5–7 minut, z czego 3–4 minuty zajmuje apt-get install docker. Skrypt pobiera wymagane zależności i sam konfiguruje Dockera; wystarczy poczekać na zakończenie.
Krok 1. Połącz się z VPS-em przez SSH.
Po utworzeniu VPS-a u dostawcy adres IP serwera i hasło roota pojawią się w wiadomości e-mail lub panelu. Połącz się z lokalnego komputera:
ssh root@1.2.3.4
Jeśli dostawca przekazał klucz SSH zamiast hasła, połącz się z użyciem -i path/to/key. Od tego miejsca zakładam, że korzystasz ze świeżej instalacji Ubuntu 22.04 lub 24.04 LTS.
Krok 2. Uruchom polecenie instalacyjne Coolify.
Jedno polecenie z oficjalnej dokumentacji:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash
Skrypt wykonuje trzy czynności:
- Sprawdza system (Ubuntu LTS? root? AMD64?)
- Instaluje Docker i Docker Compose, jeśli nie są jeszcze zainstalowane
- Pobiera obrazy Coolify (
coolify/coolify,coolify/realtime,traefik) i uruchamia je w tle za pomocą docker-compose
Zajmuje to 3–5 minut. Zobaczysz przewijające się logi apt-get, a potem docker pull. Gdy pojawi się Coolify v4.1.0 is now running, przejdź do kroku 3.
Krok 3. Otwórz interfejs internetowy.
Otwórz w przeglądarce:
http://1.2.3.4:8000
Coolify wyświetli kreator konfiguracji — formularz tworzenia pierwszego użytkownika. Podaj adres e-mail i hasło, a następnie zapisz. Ten użytkownik automatycznie zostanie administratorem; na razie nie potrzebujesz innych użytkowników.
Po zapisaniu trafisz do pustego panelu: po lewej stronie będzie pasek boczny z pozycjami Resources / Projects / Servers / Sources / Notifications / Settings, a na środku prośba „Add your first resource”.
Krok 4. Otwórz porty w zaporze dostawcy (nie UFW).
Coolify już działa, ale z zewnątrz dostępny jest tylko port 8000 (panel). Aby użytkownicy mogli dotrzeć do Twoich aplikacji, musisz otworzyć porty 80 (HTTP) i 443 (HTTPS):
| Port | Przeznaczenie |
|---|---|
| 22 | Dostęp SSH do serwera |
| 80 | Odbiera ruch HTTP, wymagany do weryfikacji Let's Encrypt |
| 443 | Odbiera ruch HTTPS użytkowników |
| 8000 | Panel Coolify (zamkniemy go po skonfigurowaniu własnej domeny dla panelu) |
Ważna pułapka wskazana w oficjalnej dokumentacji:
Docker używa reguł iptables opartych na NAT, które mogą omijać tradycyjne zapory Linuksa, takie jak UFW.
Oznacza to, że nawet jeśli włączysz UFW i zamkniesz wszystkie porty, Docker nadal będzie udostępniać swoje kontenery przez iptables. UFW jest tu bezużyteczne. Rozwiązanie to otwieranie i zamykanie portów w panelu dostawcy, a nie przez UFW. W Timeweb / Selectel / Aeza zrobisz to w sekcji „Network → Firewall” konsoli internetowej.
Krok 5 (opcjonalny). Przypisz domenę do panelu.
Aby otwierać https://coolify.example.com zamiast http://1.2.3.4:8000, utwórz rekord DNS A coolify.example.com → 1.2.3.4, przejdź w Coolify do Settings → Instance Settings → Instance Domain, wpisz subdomenę i zapisz. Coolify poprosi o certyfikat Let's Encrypt i po minucie ponownie załaduje panel przez HTTPS.
Potem możesz zamknąć port 8000 w zaporze — panel będzie dostępny przez HTTPS na standardowym porcie 443.
Jak połączyć GitHub: App czy PAT?
Najważniejszy wniosek
Coolify obsługuje dwa sposoby łączenia z GitHubem: GitHub App (zalecany) oraz Personal Access Token (PAT). Wybierz GitHub App: konfiguracja z kreatorem zajmuje 5 minut, podglądy PR działają, a uprawnienia można precyzyjnie ograniczyć do poziomu repozytorium. PAT to przestarzała opcja na potrzeby starszych przypadków; nie obsługuje wdrożeń podglądowych i niesie ryzyko globalnego dostępu do wszystkich repozytoriów. Oficjalna dokumentacja mówi wprost: „dla 95% użytkowników GitHub App to właściwy wybór”.
W Coolify przejdź do Sources → + Add → GitHub App. Coolify wyświetli kreator z trzema ekranami:
- Name & description — nazwij źródło (wpisz
github-main) i opcjonalnie dodaj opis. - Configure on GitHub — przycisk, który przeniesie Cię do GitHub.com i automatycznie otworzy formularz tworzenia aplikacji GitHub z właściwymi uprawnieniami.
- Confirm — po powrocie z GitHuba kliknij „Save”.
W drugim kroku GitHub poprosi o potwierdzenie uprawnień wymaganych przez Coolify:
| Uprawnienie | Poziom | Przeznaczenie |
|---|---|---|
| Contents | Tylko do odczytu | Klonowanie repozytorium |
| Pull Requests | Odczyt i zapis | Tworzenie wdrożeń podglądowych i komentowanie PR |
| Email addresses | Tylko do odczytu | Identyfikowanie commitów |
| Metadata | Tylko do odczytu | Wyświetlanie listy repozytoriów |
To minimalne uprawnienia — GitHub App nie widzi Twoich kluczy prywatnych, nie może zapisywać do main i nie ma dostępu do repozytoriów, których jawnie z nią nie połączysz.
Z oficjalnej dokumentacji:
Personal Access Token (PAT) to stara metoda; odradzam jej używanie. Wady:
- PAT zapewnia globalny dostęp do wszystkich Twoich repozytoriów (w tym prywatnych)
- Podglądy PR nie działają — ta funkcja jest dostępna wyłącznie w GitHub App
- Token ma długi okres ważności (90 dni, rok lub bezterminowo) — jego wyciek to poważny problem
Używaj PAT tylko wtedy, gdy pracujesz z repozytorium organizacji, której polityka bezpieczeństwa zabrania korzystania z GitHub Apps i nie ma innego rozwiązania.
Po zapisaniu źródła w Coolify w panelu zobaczysz GitHub App wraz z listą połączonych repozytoriów. Podczas tworzenia nowej aplikacji będzie można wybrać dowolne z nich jednym kliknięciem.
Jak wdrożyć projekt Next.js z Claude Code w 6 krokach
Najważniejszy wniosek
Pełna droga od pustej konfiguracji Claude Code do działającej witryny: 1) uruchom claude w pustym folderze, opisz projekt, a Claude wygeneruje kod; 2) uruchom git init && git remote add (Claude może zrobić to sam za pomocą polecenia slash); 3) wypchnij projekt do GitHuba; 4) w Coolify wybierz „+ New Resource → Application” i wskaż repozytorium; 5) dodaj zmienne środowiskowe; 6) kliknij Deploy. Coolify rozpozna, że to Next.js, wybierze pakiet do budowania Nixpacks, w 3–5 minut zbuduje obraz Dockera i udostępni tymczasową domenę.
Krok 1. Opisz projekt Claude Code w pustym folderze.
mkdir my-vibe-app
cd my-vibe-app
git init
claude
W sesji:
Build a Next.js 14 app router project:
- a home page with a list of users
- /api/users endpoint returns an array from the database
- Postgres via Prisma
- Tailwind for styles
- .env.example with DATABASE_URL
- README.md with instructions for running the project
Claude wygeneruje strukturę plików, package.json, prisma/schema.prisma i .env.example. Poproś też:
Create a Dockerfile for production builds and a .dockerignore.
To opcjonalne — Coolify zbuduje projekt za pomocą Nixpacks nawet bez Dockerfile. Dockerfile pozwala jednak kontrolować ten proces i przyspiesza go w większych projektach.
Krok 2. Utwórz repozytorium GitHub i wypchnij do niego projekt.
Możesz zrobić to ręcznie w interfejsie GitHuba za pomocą git remote add origin ..., ale Claude Code może wykonać tę czynność:
/commit-push-pr Initial Next.js app generated with Claude Code
Możesz też po prostu powiedzieć: „Zatwierdź wszystko i wypchnij do nowego repozytorium my-vibe-app na moim koncie”. Claude użyje interfejsu wiersza poleceń gh, aby utworzyć prywatne (lub publiczne) repozytorium i wykonać pierwszy push. Źródło: oficjalne polecenie Claude Code.
Krok 3. Utwórz aplikację w Coolify.
W panelu Coolify kliknij + New → Application. Otworzy się formularz:
- Source — wybierz
github-main(GitHub App połączoną w poprzedniej sekcji H2) - Repository — wybierz z listy
my-vibe-app - Branch —
main - Build Pack — Coolify automatycznie wykryje właściwy pakiet. Jeśli istnieje Dockerfile, użyje
dockerfile. W przeciwnym razie użyjenixpacks. Możesz ręcznie zmienić ten wybór. - Domain — na razie pozostaw sugerowaną wartość; jest tymczasowa i później zastąpisz ją własną
- Port —
3000dla Next.js w ustawieniu domyślnym
Zapisz.
Krok 4. Dodaj zmienne środowiskowe.
W utworzonej aplikacji otwórz kartę Environment Variables. Dodawaj zmienne pojedynczo:
DATABASE_URL=postgresql://user:pass@db-host:5432/mydb
NODE_ENV=production
ANTHROPIC_API_KEY=sk-ant-...
Jeśli nie masz bazy danych, utwórz ją bezpośrednio w Coolify: + New → Database → PostgreSQL. Coolify uruchomi kontener Postgresa w 30 sekund i poda wewnętrzny DATABASE_URL w formacie postgresql://postgres:pass@postgres-xyz:5432/postgres — wprowadź go w swojej aplikacji.
Wszystkie zmienne są szyfrowane w bazie danych Coolify i nie są wyświetlane w logach budowania.
Krok 5. Kliknij Deploy.
W prawym górnym rogu znajduje się niebieski przycisk Deploy. Bieżące logi pojawią się w karcie Logs:
[stage: clone] Cloning '<repository-url-from-github>'
[stage: build] Detected Next.js, using Nixpacks
[stage: build] Installing Node 20, npm 10
[stage: build] npm install (245s)
[stage: build] npm run build (87s)
[stage: deploy] Creating container my-vibe-app-xyz
[stage: deploy] Container started, health check passed
[stage: proxy] Traefik routing configured for temporary domain
[stage: ssl] Let's Encrypt cert issued for temporary domain
Pierwsze budowanie trwa 3–5 minut (pobiera bazowy obraz Node i instaluje zależności). Kolejne zajmują 60–90 sekund dzięki buforowaniu warstw Dockera.
Gdy status zmieni się na Running, skopiuj URL aplikacji z pola Domains w Coolify i otwórz dokładnie ten adres w przeglądarce. Poniżej używaj tej wartości jako <app-url-from-coolify>; etykieta w nawiasach kątowych jest miejscem zastępczym, nie prawdziwym adresem. Powinna pojawić się strona główna z obsługą HTTPS od razu po wdrożeniu. To bezpłatna usługa wildcard DNS, która rozpoznaje każdą subdomenę zawierającą adres IP (1-2-3-4.example → 1.2.3.4). Coolify używa jej dla tymczasowych domen, aby można było od razu otworzyć witrynę bez konfigurowania własnego DNS.
Krok 6. Sprawdź, czy wszystko działa.
Otwórz URL aplikacji z poprzedniego kroku z dopisanym /api/users, np. <app-url-from-coolify>/api/users, bez podwójnego ukośnika. To punkt końcowy JSON utworzony w kroku 1; główny URL aplikacji prowadzi do strony głównej. Jeśli pojawi się błąd 500, ślad stosu będzie widoczny w karcie Logs. Najczęstszy problem przy pierwszym wdrożeniu to wskazanie przez DATABASE_URL nieistniejącej bazy. Rozwiąż go, tworząc instancję PostgreSQL w Coolify (zobacz krok 4 powyżej) i zastępując DATABASE_URL.
15 minut, licząc od chwili zamówienia VPS-a. W oryginalnym przykładzie ten proces na świeżym serwerze zajął 12–18 minut.
Jak skonfigurować własną domenę i HTTPS
Najważniejszy wniosek
Podłączenie własnej domeny wymaga 3 kroków: utworzenia rekordu DNS A wskazującego na adres IP serwera, wpisania domeny w Configuration w Coolify zamiast tymczasowej domeny, włączenia Automatic HTTPS i kliknięcia Redeploy. Let's Encrypt automatycznie wystawi certyfikat SSL 2–3 minuty po propagacji DNS (zwykle trwa ona 5–30 minut). Kluczowe jest, aby DNS już wskazywał właściwy adres w chwili kliknięcia Redeploy; w przeciwnym razie weryfikacja Let's Encrypt się nie powiedzie i na kolejną próbę trzeba będzie poczekać 12 minut.
Krok 1. Utwórz rekord DNS A w panelu swojego rejestratora.
W oryginalnych przykładach używane są domeny hostowane w Reg.ru, Beget lub Timeweb. Proces jest taki sam:
| Typ rekordu | Nazwa | Wartość |
|---|---|---|
| A | app (lub @ dla domeny głównej) | 1.2.3.4 (adres IP serwera) |
Zapisz rekord, otwórz konsolę i sprawdź:
dig app.example.com +short
# Should return 1.2.3.4
Jeśli nic nie zwraca lub zwraca inny adres IP, propagacja DNS jeszcze się nie zakończyła. Poczekaj 5–30 minut.
Krok 2. Wpisz swoją domenę w Coolify.
W aplikacji otwórz kartę Configuration → General. W polu Domains zastąp tymczasowy URL aplikacji skopiowany z Coolify adresem https://app.example.com (używając własnej skonfigurowanej domeny). Włącz Automatic HTTPS (zwykle jest już włączona).
Zapisz i kliknij Redeploy.
Krok 3. Poczekaj na certyfikat Let's Encrypt.
W logach budowania pojawi się:
[stage: ssl] Requesting Let's Encrypt cert for app.example.com
[stage: ssl] HTTP challenge sent to /.well-known/acme-challenge/xxx
[stage: ssl] Validation passed, cert issued
[stage: ssl] Cert installed, HTTPS enabled
Po 2–3 minutach Twoja witryna będzie dostępna pod adresem https://app.example.com z zieloną kłódką na pasku adresu.
Co może pójść nie tak z Let's Encrypt (3 najczęstsze problemy z oficjalnego przewodnika rozwiązywania problemów):
- Port 80 jest zamknięty w zaporze. Let's Encrypt weryfikuje domenę za pomocą HTTP challenge — wysyła żądanie do
http://app.example.com/.well-known/acme-challenge/xxx. Bez portu 80 weryfikacja się nie powiedzie. Otwórz go w zaporze dostawcy. - Włączone jest proxy Cloudflare (pomarańczowa chmurka). Przechwytuje żądanie Let's Encrypt i zwraca własną stronę zastępczą — weryfikacja się nie powiedzie. Rozwiązaniem jest przełączenie na „DNS only” (szara chmurka) albo skonfigurowanie wyzwania DNS-01 przez API Cloudflare.
- DNS jeszcze się nie rozpropagował. Jeśli rekord A utworzono 30 sekund temu i od razu kliknięto Redeploy, Let's Encrypt nie znajdzie domeny. Poczekaj 5–30 minut na propagację DNS na serwerach.
Limit Let's Encrypt: 5 nieudanych prób na godzinę dla jednej domeny, a możliwość ponowienia wraca w tempie 1 próby co 12 minut. Jeśli osiągniesz limit, nie klikaj Redeploy 10 razy z rzędu; sprawdź logi, napraw problem i spróbuj ponownie za 12 minut.
Jak Claude Code zarządza Coolify przez MCP?
Najważniejszy wniosek
Za pośrednictwem Model Context Protocol Claude Code uzyskuje bezpośredni dostęp do API Coolify — możesz polecić „wdroż tę aplikację”, aby rozpocząć budowanie, sprawdzić status, odczytać logi lub zaktualizować zmienne środowiskowe. Dostępne są trzy opcje: forsonny/Coolify-MCP-Server (podstawowa, 7 kategorii operacji), dazeb/coolify-mcp-enhanced (ponad 15 dodatkowych narzędzi i wdrażanie baz danych jednym kliknięciem) oraz ajmcclary/Coolify-Manager (umiejętność Claude oparta na oficjalnym CLI). Od wersji v4.1.0 (18 maja 2026 roku) Coolify udostępnia natywny endpoint MCP, bez serwerów firm trzecich — na razie tylko do odczytu.
Model Context Protocol (MCP) to standard Anthropic, który pozwala Claude Code komunikować się z systemami zewnętrznymi (więcej informacji znajdziesz w przewodniku po serwerach MCP). Po podłączeniu serwera MCP Claude otrzymuje zestaw narzędzi, z których może korzystać. Dostępne są trzy gotowe serwery Coolify oraz jedna opcja natywna.
Opcja 1. forsonny/Coolify-MCP-Server-for-Claude-Code — podstawowa.
Możliwości:
- Applications: tworzenie, uruchamianie, zatrzymywanie, ponowne uruchamianie
- Services: lista, tworzenie, uruchamianie/zatrzymywanie/ponowne uruchamianie
- Deployments: wyświetlanie działających, pobieranie po UUID
- Teams & Members: wyświetlanie listy, pobieranie informacji
- SSH Keys: wyświetlanie listy, tworzenie
- Environment Variables: pełne operacje CRUD dla aplikacji i usług
- Server Insights: domeny dla serwera, stan, wersja
Instalacja:
git clone '<OFFICIAL_URL>'
cd Coolify-MCP-Server-for-Claude-Code
npm install
npm run build
# In .env:
# COOLIFY_BASE_URL=https://coolify.example.com
# COOLIFY_API_TOKEN=[from Coolify Settings → API Tokens]
npm run setup # automatically configures Claude Code
Następnie możesz wpisać w Claude Code:
Show the status of the my-vibe-app application in Coolify and the 3 latest deployments.
Claude zwróci tabelę.
Opcja 2. dazeb/coolify-mcp-enhanced — rozszerzona (zalecana).
Dodatkowe możliwości względem podstawowego zestawu:
- Wdrażanie PostgreSQL / Redis / MinIO jednym kliknięciem — poproś AI „skonfiguruj mi Postgresa”, a utworzy kontener i zwróci DATABASE_URL
- Monitorowanie w czasie rzeczywistym + użycie zasobów — CPU/RAM dla każdej aplikacji w czasie rzeczywistym
- Masowa aktualizacja konfiguracji env — zaktualizuj 20 zmiennych jednym poleceniem
- Obsługa Docker Compose — wdrażanie aplikacji złożonych z wielu usług
Konfiguracja dla Claude Code (.mcp.json w katalogu głównym projektu):
{
"mcpServers": {
"coolify-enhanced": {
"command": "node",
"args": ["/path/to/coolify-mcp-enhanced/dist/index.js"],
"env": {
"COOLIFY_ACCESS_TOKEN": "your-token-here",
"COOLIFY_BASE_URL": "https://coolify.example.com"
}
}
}
}
Opcja 3. ajmcclary/Coolify-Manager — umiejętność Claude oparta na CLI.
To nie jest serwer MCP, lecz umiejętność Claude Code korzystająca z oficjalnego CLI Coolify. Obejmuje:
- Diagnostykę stanu usług i kontenerów
- Diagnostykę certyfikatów SSL
- Obsługę wielu instancji (jeśli masz kilka serwerów Coolify)
- Przepisy rozwiązywania problemów
Instalacja: pobierz umiejętność i umieść ją w ~/.claude/skills/coolify-manager/. Claude Code wykryje ją i zaproponuje przy odpowiednich zadaniach.
Opcja 4 (nowość z maja 2026 roku). Natywny MCP w Coolify v4.1.0.
Dziennik zmian v4.1.0 z 18 maja 2026 roku informuje:
Dodano obsługę MCP na poziomie instancji z narzędziami tylko do odczytu dla zasobów Coolify oraz API/UI.
Coolify udostępnia teraz własny endpoint MCP — możesz połączyć z nim Claude Code bezpośrednio, bez serwerów firm trzecich. Na razie jest tylko do odczytu (listy aplikacji, statusy, konfiguracje); nie obsługuje modyfikowania danych. To jednak wystarcza do większości zadań w rodzaju „opowiedz mi o infrastrukturze”.
Połącz przez .mcp.json:
{
"mcpServers": {
"coolify-native": {
"url": "https://coolify.example.com/api/v1/mcp",
"headers": {
"Authorization": "Bearer <your-api-token>"
}
}
}
}
Poczekaj na pełny dostęp do zapisu w natywnym MCP w wersji v4.2 lub v4.3 — zespół Coolify obiecał go przed końcem 2026 roku.
5 pułapek przy pierwszym wdrożeniu — i jak ich uniknąć
Najważniejszy wniosek
Najczęstsze błędy przy pierwszym wdrożeniu to niewystarczająca ilość RAM-u, zamknięty port 80, proxy Cloudflare zakłócające Let's Encrypt, nieskuteczna zapora UFW wobec Dockera i wybór PAT zamiast GitHub App. Wszystkie te problemy opisano w oficjalnej dokumentacji, ale bez praktycznego doświadczenia łatwo na nie trafić. Poniżej znajduje się pięciopunktowa lista kontrolna oparta na pierwotnym doświadczeniu z pierwszą instalacją Coolify.
Pułapka 1: mniej niż 2 GB RAM — instalacja kończy się błędem OOM.
Objaw: curl install.sh dochodzi do docker pull coolify/coolify, zatrzymuje się przy 70%, a potem proces zostaje zakończony komunikatem Killed (signal 9). W logach dmesg | tail pojawia się Out of memory: Killed process.
Rozwiązanie:
# Utwórz plik wymiany o rozmiarze 4 GB, aby tymczasowo rozwiązać problem
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Na dłuższą metę zwiększ RAM do 4 GB. Coolify działa z pamięcią wymiany, ale buildy dużych projektów Next.js mogą się nie powieść.
Pułapka 2: UFW jest włączone, ale Docker nadal otwiera porty.
Objaw: włączono UFW i zamknięto wszystkie porty poza 22, ale aplikacja nadal jest dostępna z internetu na jakimś losowym porcie (na przykład 3000).
Powód, podany w oficjalnej dokumentacji:
Coolify działa w Dockerze, który używa reguł iptables opartych na NAT i może omijać tradycyjne zapory Linuksa, takie jak UFW.
Rozwiązanie: użyj zapory w panelu swojego dostawcy, a nie UFW. W Timeweb / Selectel / Aeza znajdziesz sekcję „Firewall” lub „Network → Firewall”, gdzie skonfigurujesz reguły na poziomie sieci wirtualnej — działają one, zanim pakiety dotrą do Dockera.
Alternatywą jest ufw-docker, skrypt dostosowujący UFW do współpracy z Dockerem. To jednak bardziej skomplikowane niż kliknięcie odpowiedniej opcji w panelu.
Pułapka 3: proxy Cloudflare (pomarańczowa chmurka) zakłóca Let's Encrypt.
Objaw: po kliknięciu Redeploy logi pokazują Let's Encrypt validation failed - challenge returned 403.
Powód: Cloudflare przekierowuje żądanie HTTP Let's Encrypt i zwraca własną stronę zamiast pliku weryfikacyjnego.
Rozwiązanie — wybierz jedną z dwóch opcji:
- Przełącz na „DNS only” (szara chmurka w Cloudflare). Wada: tracisz CDN Cloudflare i ochronę.
- Skonfiguruj wyzwanie DNS-01 przez API Cloudflare. W Coolify przejdź do Settings → SSL Configuration, wybierz dostawcę Cloudflare i podaj token API z uprawnieniami Zone:Read i DNS:Edit. Let's Encrypt przeprowadzi weryfikację przez rekord TXT zamiast HTTP.
Druga opcja jest trudniejsza w konfiguracji, ale pozwala zachować proxy Cloudflare.
Pułapka 4: PAT zamiast GitHub App — podglądy PR nie działają.
Objaw: połączono GitHub za pomocą Personal Access Token; wszystko działa, ale wdrożenia podglądowe nie są tworzone dla PR. Otworzono PR w GitHubie, ale nic nie pojawiło się w Coolify.
Powód: podglądy PR są funkcją dostępną wyłącznie w GitHub App. PAT nie odbiera zdarzeń pull_request przez webhook.
Rozwiązanie: połącz ponownie GitHub przez App. Sources → Add → GitHub App → ukończ kreator. Możesz usunąć stare źródło PAT.
Pułapka 5: stwierdzenie „Coolify == Vercel” nie jest całkiem prawdziwe.
Czego Coolify nie robi od razu:
| Vercel | Coolify | Co zrobić |
|---|---|---|
| Globalna sieć CDN | Nie | Umieść przed nim Cloudflare (bezpłatny dla treści statycznych) |
| Incremental Static Regeneration | Nie | revalidatePath działa tylko na Twoim serwerze |
| Optymalizacja obrazów | Nie | Użyj next/image z lokalnym loaderem lub Cloudflare Images |
| Automatyczne skalowanie w czasie szczytowego ruchu | Nie | Skaluj ręcznie; zwiększ zasoby VPS-a |
| Edge Functions | Nie | Użyj zwykłych tras API |
Jeśli Twój projekt to SaaS o dużym ruchu, z odbiorcami na całym świecie i wymaganiami opóźnień < 100 ms na całym świecie, Coolify się nie sprawdzi; wybierz Vercel Enterprise. Jeśli tworzysz aplikację metodą vibe coding i testujesz MVP na 100–1,000 użytkownikach dziennie, Coolify zapewnia wszystko, czego potrzebujesz.
Z uczciwej analizy self-hostingu:
15 minut w tytule tego przewodnika odnosi się do optymalnej ścieżki pierwszego wdrożenia jednego projektu. Pełna konfiguracja infrastruktury z monitoringiem, kopiami zapasowymi i alertami zajmuje wieczór lub dwa. Bądź ze sobą szczery.
Ile zaoszczędzisz w ciągu roku w porównaniu z Vercel?
Najważniejszy wniosek
Dochodzi „ukryty podatek czasowy”: 5–10 godzin na początkową konfigurację i 1–2 godziny miesięcznie na utrzymanie.
Poniższe liczby Vercel są szacunkami scenariuszy artykułu z maja 2026, a nie aktualną wyceną. Pokazują tylko jedną stronę porównania. Samodzielnie hostowany Coolify nie ma opłaty licencyjnej, ale VPS, kopie zapasowe, magazyn danych, ruch i obsługa nadal kosztują. Uzyskaj wycenę spełniającą powyższe wymagania; scenariusze nie podają ceny VPS, więc stała oszczędność kwotowa byłaby nieuzasadniona.
Niech C oznacza cały miesięczny rachunek za wybrany VPS, magazyn kopii, dodatkowy ruch, monitorowanie i ewentualny płatny panel. Każdy wydatek uwzględnij raz. Niech r oznacza godzinowy koszt obsługi, w tej samej walucie. Szacunek czasu z artykułu to 5–10 godzin początkowo i 1–2 miesięcznie: 17–34 godziny w pierwszym roku i 12–24 w następnych latach.
| Scenariusz | Szacunek Vercel/miesiąc | Vercel/rok | Infrastruktura Coolify/miesiąc | TCO Coolify w pierwszym roku z pracą | Oszczędność pierwszego roku względem Vercel |
|---|---|---|---|---|---|
| Jeden prototyp, 100,000 wizyt/miesiąc | $20 podstawy + ~$5 transferu = $25 | $300 | C | 12C + (17–34)r | $300 − 12C − (17–34)r |
| Pięć projektów na jednym VPS | $20 podstawy + $30 transferu/funkcji = $50 | $600 | C | 12C + (17–34)r | $600 − 12C − (17–34)r |
| Trzech programistów, pięć projektów | $60 stanowisk + $30 transferu = $90 | $1,080 | C | 12C + (17–34)r | $1,080 − 12C − (17–34)r |
Użyj osobnego C dla każdego scenariusza, jeśli obciążenia potrzebują różnych serwerów. W porównaniu miesięcznym rozłóż konfigurację na 12 miesięcy: ekwiwalent pierwszego roku to C + (17–34)r/12. TCO następnych lat wynosi 12C + (12–24)r. Wzory porównują podany szacunek Vercel z kosztami samodzielnego hostowania; po stronie Vercel także uwzględnij porównywalną obsługę. Ujemna oszczędność oznacza droższy self-hosting przy Twoich danych. Nie doliczaj ponownie pełnej pensji tego samego inżyniera, jeśli r już ją zawiera.
Przed zmianą wypełnij C rzeczywistą wyceną dostawcy i planem kopii, wybierz r i porównaj faktyczne użycie przez miesiąc. Bez tych danych artykuł dostarcza model kosztu, nie kwotową deklarację oszczędności.
Największą korzyścią nie są pieniądze. Po przejściu na Coolify znika kategoria „zależność od cudzej polityki płatności”. Nie potrzebujesz już wirtualnych kart z 20% prowizją.
Coolify nie jest tańszym Vercel. To produkt z innej kategorii: posiadasz infrastrukturę, bierzesz za nią odpowiedzialność i godzisz się na złożoność; wynik finansowy zależy od pełnego kosztu infrastruktury i obsługi.
Jeśli wdrożenie prototypu jest Twoim pierwszym zadaniem po wygenerowaniu projektu w Claude Code, zarządzanie środowiskiem (env, sekrety, zadania zaplanowane, kopie zapasowe) stanowi część inżynierii kontekstu. Bez struktury określającej, „gdzie co się znajduje”, Claude się gubi, a każda zmiana kosztuje Cię czas. Pełna konfiguracja obejmuje: klon AI (Skills i Subagents dostosowane do Twojej metodologii) + Drugi Mózg (baza wiedzy o projekcie) + Inżynieria Kontekstu (Plan Mode, /compact, środowisko wykonawcze). To 3 filary, bez których AI halucynuje.
Źródła
- Oficjalna dokumentacja Coolify: wprowadzenie
- Przewodnik instalacji Coolify
- Przegląd pakietów do budowania Coolify
- Baza wiedzy Coolify: firewall
- Rozwiązywanie problemów z Let's Encrypt w Coolify
- Cennik Coolify
- Coolify w serwisie GitHub: wydania v4.1.0
- Przegląd Claude Code
- Timeweb Cloud VPS
- FirstVDS VPS
- Selectel VPS/VDS
- Cennik Vercel
Pełny przepływ pracy z kontekstem: klon AI + Drugi Mózg + Inżynieria Kontekstu.
Więcej materiałów znajdziesz na Ailoot.
Więcej szczegółów
Pytania i odpowiedzi
Który URL powinien zwrócić JSON po wdrożeniu?
Skopiuj URL aplikacji z pola Domains w Coolify i otwórz jego ścieżkę /api/users. Główny URL jest stroną główną; /api/users to punkt końcowy JSON określony w przykładowym projekcie.
Jak obliczyć oszczędność na własnym hostingu?
Zsumuj miesięczne opłaty VPS, kopii, magazynu danych, ruchu, monitorowania i opcjonalnego panelu w C. TCO pierwszego roku to 12C oraz 17–34 godzin według Twojej stawki; porównaj ze scenariuszowym rocznym szacunkiem Vercel i uwzględnij porównywalną obsługę obu stron.