„Mój laptop to M3 Pro z 16 GB RAM-u, po co mi w takim razie serwer, który ma ledwie 4 rdzenie i 8 GB?”

Na Reddicie, na subredditach typu r/indiehackers, to jedno z najczęstszych pytań nowicjuszy. W erze, gdzie Serverless (jak Vercel) i PaaS (jak Supabase) królują na każdym kroku, VPS (Virtual Private Server) wydaje się czymś wręcz „staroświeckim”.

Prawda jest jednak taka: niezależni deweloperzy, którzy realnie domykają pętlę biznesową i budują długoterminowy zysk, na bank mają w swoich rękach kilka serwerów VPS.

W tym artykule weźmiemy na warsztat 7 głównych bolączek niezależnego twórcy i głęboko wnikniemy w to, dlaczego VPS to twój nieunikniony krok ku profesjonalizacji i porzuceniu zabawy w „zabawki z kodem”.


1. Koniec z „lokalnym lękiem”: ratunek przed czarną dziurą miejsca z node_modules i Dockerem

Najdroższym aktywem indie developera jest jego laptop, a najtańszym – dysk w tym laptopie. Obecna fala programowania wspieranego przez AI opiera się w dużej mierze na NextJS, co przynosi ze sobą prawdziwą katastrofę z node_modules. Prawda jest też taka, że cc też uwielbia ciągnąć bb. Jeśli przyjrzysz się procesowi działania cc, zauważysz, że non stop zrzuca jakieś dane do katalogu /tmp.

  • Ból: pożeranie dysku i wydajności na potęgę

    • Eksplozja node_modules: jak klepiesz 10 projektów naraz, to sam katalog node_modules potrafi zeżreć ponad 50 GB na SSD.
    • Góra obrazów Docker: odpalanie kontenerów lokalnie sprawia, że system zaczyna zamulać, a wiatraki wyją jak szalone.
    • Obciążenie CPU: lokalne pogoń za PostgreSQL czy Redisem jako middleware mocno przytłacza IDE i psuje jego responsywność.
  • Rozwiązanie: VPS jako „ciężka maszynownia”
    Na localu zostawiasz tylko lekki zestaw VS Code + Cursor i łączysz się z VPS przez Remote SSH. Cała ciężka zależności i środowisko lecą w chmurze, a laptop zajmuje się tylko wyświetlaniem UI.

Node Model

2. Mówimy „nie” szantażowi rachunkami SaaS: optymalizacja kosztów z perspektywy biznesu

W独立nym devie najgorsze nie to, że nie masz użytkowników, ale że zanim w ogóle zapłacą, rachunki za SaaS wystrzelą w kosmos. Jak robisz coś z AI w kodowaniu, prędzej czy później trafisz na supabase, clerk i podobne narzędzia. Z vercel jest tak samo — na początku korzystanie jest super przyjemne, ale jak już wsiąkniesz, nagle przychodzi rachunek i łup, masz mały zawał. Vercel ma jeden bardzo ciekawy haczyk: komponent Image. Przy buildowaniu sugerują, żeby używać <Image. Brzmi opiekuńczo, co? Tylko że ten komponent domyślnie puszczany jest przez usługę optymalizacji obrazów Vercela — każda zoptymalizowana grafika to osobna opłata. Jak masz stronę z dużym ruchem, to same koszty optymalizacji obrazów mogą wyjść drożej niż hosting.

Darmowy plan Hobby od Vercel robi wrażenie — wdrożenie, CDN i SSL masz w pakiecie. Ale jak tylko Twój projekt złapie trochę ruchu, zaczynają się koszmary.

Cennik po przekroczeniu limitów:

Zasób Co zawiera plan Pro Opłata po przekroczeniu
Przepustowość 1 TB/mies. $0.15/GB (czyli $150/TB)
Edge Requests 10 mln/mies. $2/milion
Czas wykonania Serverless 40 godz./mies. $5/godz.
Optymalizacja obrazów 5000 szt./mies. $5/1000 szt.
  • Ból istnienia: rosnące koszty, które cię więżą

    • Pułapka PaaS: Darmowy limit w Firebase kusi, ale jak tylko wchodzą w grę skomplikowane backupy albo duży ruch, ceny rosną w kosmos.
    • Płatna autoryzacja: Narzędzia takie jak Clerk liczą sobie za aktywnych użytkowników miesięcznie, co dla aplikacji o dużym ruchu i niskiej wartości koszyka to po prostu koszmar.
  • Rozwiązanie: Self-hosting całego stacku
    Na serwerze VPS za $5 miesięcznie możesz wycisnąć maksimum wydajności z Dockera i jednocześnie odpalić: bazę danych (PostgreSQL), system autoryzacji (PocketBase) oraz analitykę (Umami).

图 2:SaaS 订阅 vs. VPS 固定成本曲线对比

💡 Bądźmy sprawiedliwi: Self-hosting wymaga odrobiny umiejętności DevOps. Ale ostatnio wielu zagranicznych twórców dzieli się swoim doświadczeniem w utrzymaniu PostgreSQLa — i to jest o wiele prostsze, niż myślisz, zwłaszcza z Dockerem i automatycznymi skryptami backupu. Zaraz pokażę ci krok po kroku, jak to ogarnąć.

3. Prawdziwy CI/CD: budowa automatycznego pipeline’u dla „jednoosobowego działu IT”

Główną przewagą indywidualnego dewelopera jest prędkość iteracji**. Na wczesnym etapie walidacji pomysłu wrzucanie projektu na platformy serverless typu Vercel, Cloudflare czy Netlify to super sprawa. Problem polega na tym, że ich implementacje Node.js bywają niekompletne, więc dłuższe zadania po prostu nie chcą działać. Kiedyś przy budowaniu lokalnym wiatrak w laptopie od razu zaczynał wyć, ale dzięki GitHub Actions nie musisz się tym już w ogóle martwić. Wszystko ładnie pakuje się w obraz Docker, a potem… startujemy.

  • Limity czasu wykonania: Funkcje serverless mają zazwyczaj timeout rzędu 10-60 sekund, domyślnie najczęściej to 10s

  • Brak procesów długotrwałych: WebSockety, długie połączenia czy zadania w tle to prawdziwy ból

  • Opóźnienia cold startu: Pierwsze żądanie może wymagać odczekania kilku sekund

  • Ból głowy: ręczne deploye to strata czasu i siedlisko błędów
    Jeśli dalej ręcznie odpalasz git pull, to nie tylko marnujesz życie, ale też drastycznie zwiększasz szansę na wpadkę na produkcji.

  • Rozwiązanie: lekka automatyzacja oparta o VPS
    Postaw na VPS i uruchom GitHub Actions Runner:

    1. Git Push odpala pipeline.
    2. VPS sam pobiera kod i buduje obraz Docker.
    3. Docker Compose automatycznie restartuje kontenery, dzięki czemu aktualizacja przechodzi bez przestojów (zero downtime).

图 3:基于 VPS 的自动化 CI/CD 流水线示意图

Nie wiem, czy to przez to, ale teraz cloudflare jakoś nie promuje już pages, wrócili do worker, a szczerze mówiąc, korzysta się z tego dość topornie. Co o tym myślisz?

4. Radzenie sobie z „sieciowymi murami”: od cichego crawlowania po dostęp zza granicy

Wiele projektów nie chce ruszyć u Ciebie lokalnie, i to wcale nie przez błędy w kodzie, tylko przez środowisko sieciowe. Mnóstwo pakietów npm, których używa się na co dzień przy devie, albo innych zasobów, potrafi przez sieć doprowadzić człowieka do szału, wykończyć go i zamęczyć na śmierć.

  • Ból głowy: zmienne IP i ograniczone wyjście

    • Potrzeba stałego IP: Kiedy łączysz się ze Stripe, PayPalem czy API banku, zazwyczaj musisz podać stałe publiczne IP do whitelisty. Dynamiczne IP z domowego netu się tu nie sprawdzi w ogóle.
    • Problemy z siecią: Pakiety npm, obrazy Docker, zasoby z GitHuba — to wszystko potrafi napsuć krwi, gdy sieć kaprysi.
    • Bany za scraping: Jak robisz projekt z pobieraniem danych, domowe IP szybko łapie blokadę od systemów anty-scrapingowych.
  • Rozwiązanie: VPS jako globalny hub sieciowy

    • Stała tożsamość: Daje Twojej działalności stałe publiczne IP — Stripe Webhook, callbacki OAuth działają stabilnie.
    • Centrum reverse proxy: Jeden VPS z Nginxem lub Caddy obsłuży 10+ domen i rozrzuci ruch po różnych portach lokalnych.
    • Przyspieszenie środowiska dev: npm install, docker pull puszczasz na VPS-ie — pobiera w mgnieniu oka, bez ograniczeń domowego łącza.

image.png

Mam jakiś osobisty fiks do nginx proxy manager. Już kilka razy bawiłem się z jego Dockerem i zżera ponad 10 GB miejsca. Totalnie nie rozumiem, po co tyle, skoro Caddy jest o wiele lżejsze i bardziej odchudzone.

5. Pilnuj „pasywnego dochodu”: monitoring 24/7 i disaster recovery

Najgorszy koszmar indie hackera? Rano budzisz się i widzisz, że serwis leżał całą noc, a ty o tym nie miałeś pojęcia. (Mam nadzieję, że to u Ciebie czysto hipotetyczne – jak projekt naprawdę zarabia, to i tak go pilnujesz jak oka w głowie!)

Problem: brak wartownika

  • Lokalny komputer idzie spać, więc nie posłuży do ciągłego monitoringu
  • Darmowe narzędzia do zewnętrznego monitoringu sprawdzają stan zbyt rzadko (np. co 5 minut). Jak coś wybuchnie, to użytkownicy uciekną, zanim w ogóle zauważysz problem
  • Sporo awarii ma charakter „losowy” – jak sprawdzisz to ręcznie, to akurat wszystko działa jak trzeba

Rozwiązanie: postaw własny serwer monitoringu

Na VPS odpal Uptime Kuma (lub coś podobnego) i ustaw sprawdzanie globalnego dostępu co 30-60 sekund. Jak tylko coś padnie, od razu dostajesz powiadomienie na Telegram, Discorda albo na maila.

Sugerowana lista do monitorowania:

Monitorowane Częstotliwość Powiadomienia
Kod statusu HTTP 60 sek. Alert na Telegram w czasie rzeczywistym
Wygaśnięcie certyfikatu SSL Codziennie Ostrzeżenie na 14 dni przed
Zasoby serwera 5 min. Alert przy CPU/RAM > 80%
Połączenie z bazą danych 60 sek. Alert natychmiast po błędzie

Dla zaawansowanych:

  • Uptime Kuma do monitorowania dostępności
  • Bezel lub Netdata do monitorowania zasobów serwera. Bezel jest całkiem fajny w użyciu. Netdata jest trochę cięższy.
  • Połączenie obu daje ci kompletny, zamknięty obraz monitoringu.

image.png

image.png

image.png

6. Suwerenność danych: „ostatnia linia obrony” indie developera

  • Problem: ryzyko uzależnienia od platformy

    Jeśli trzymasz wszystkie dane w Firebase, a pewnego dnia zablokują ci konto z powodu regulaminu, cały twój wysiłek pójdzie z dymem w kilka sekund.

  • Rozwiązanie: lokalny storage na VPS + backup off-site

    • Izolacja danych: pliki bazy danych są w 100% twoje.
    • Automatyczny backup: piszesz prosty cron, który codziennie szyfruje dane i synchronizuje je z S3 lub twoim dyskiem lokalnym.

image.png

7. Planowanie zasobów dla indie hackera: strategia „1 + N”

Patrząc na typowe scenariusze deweloperskie w 2026 roku, polecam rozłożyć to następująco:

Typ Sugerowane parametry Główne zadanie
1 główna baza 2 vCPU 4 GB RAM lub 4 vCPU 8 GB RAM Obsługa Nginx, głównej bazy danych i kluczowych produktów.
N maszyn wartowniczych 1 vCPU 1 GB RAM lub mniej Działanie monitoringu Uptime Kuma, małych scraperów i środowiska testowego.

Po co to rozdzielać?

  • Usługi monitorujące nie mogą działać na tej samej maszynie, co monitorowane usługi — inaczej, gdy serwer padnie, nie dostaniesz żadnego alertu.
  • Środowisko testowe musi być odizolowane od produkcji, żeby uniknąć wpadek przy przypadkowych akcjach.
  • Kilka mniejszych maszyn daje dużo większą elastyczność niż jeden wielki serwer.

image.png

Na Reddicie Hetzner regularnie przewija się jako „król opłacalności”: w tej samej cenie zazwyczaj dostajesz 2-3 razy więcej zasobów niż u amerykańskich dostawców chmurowych. Minus? Serwerownie są głównie w Europie, więc z Azji będziesz mieć wyższe opóźnienia.

Jak to ująć? Baza danych to wciąż kluczowa sprawa. Jeśli masz ograniczony czas, po prostu trzymaj się czegoś w stylu Neon albo Supabase.

Podsumowanie: bilet wstępu od “zabawy” do “pro poziomu”

Od momentu, w którym masz własny VPS, przestajesz być tylko “kimś, kto pisze kod”, a stajesz się “władcą systemu”. Daje Ci to:

  • Determinację: koniec z psuciem się rzeczy przez zmiany w środowisku lokalnym.
  • Ciągłość: Twój produkt działa 24/7 całkowicie samodzielnie.
  • Biznes: wspierasz rozwój przy najniższym koszcie krańcowym.

Jak krąży w kręgach indie devów: “Twój pierwszy adres IP serwera to pierwsza wizytówka Twojego produktu.” (Wymyśliłem to sam.)