<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:base="https://voxihost.pl/" xml:lang="pl">
  <title>Poradniki i Tutoriale</title>
  <subtitle>Opanuj zarządzanie infrastrukturą serwerową. Profesjonalne poradniki i konfiguracje krok po kroku od zespołu i społeczności VoxiHost.</subtitle>
  <link href="https://voxihost.pl/pl/guides/feed.xml" rel="self"/>
  <link href="https://voxihost.pl/pl/guides/" rel="alternate"/>
  <updated>2026-07-28T00:00:00Z</updated>
  <id>https://voxihost.pl/pl/guides/</id>
  <rights>© 2026 VoxiHost. All rights reserved.</rights>
  <generator uri="https://www.11ty.dev/" version="3.1.2">Eleventy</generator>
  <icon>https://voxihost.pl/assets/images/favicon-32x32.png</icon>
  <logo>https://voxihost.pl/assets/images/brand/logo-full.png</logo>
  <author>
    <name>VoxiHost</name>
    <uri>https://voxihost.pl</uri>
  </author>
  <entry>
    <title>Jak zabezpieczyć Nginx za pomocą Fail2Ban</title>
    <link href="https://voxihost.pl/pl/guides/jak-zabezpieczyc-nginx-przy-pomocy-fail2ban/" rel="alternate"/>
    <published>2026-07-28T00:00:00Z</published>
    <updated>2026-07-28T00:00:00Z</updated>
    <id>https://voxihost.pl/pl/guides/jak-zabezpieczyc-nginx-przy-pomocy-fail2ban/</id>
    <summary type="text">Dowiedz się, jak chronić serwer WWW, instalując i konfigurując Fail2Ban na Ubuntu, aby automatycznie blokować złośliwe adresy IP atakujące Nginx.</summary>
    <category term="Poradniki"/>
    <content xml:lang="pl" type="html">&lt;h2 id=&quot;wstep&quot;&gt;Wstęp &lt;/h2&gt;
&lt;p&gt;Udostępnienie serwera WWW Nginx w publicznej sieci wiąże się z ciągłym strumieniem zautomatyzowanych prób ataków. Boty poszukują luk w zabezpieczeniach, próbują przejmować dane uwierzytelniające i zalewają logi błędnymi żądaniami. Jeśli uruchamiasz swoje usługi na &lt;a href=&quot;https://voxihost.pl/pl/vps/&quot;&gt;VPS&lt;/a&gt;, potrzebujesz proaktywnego mechanizmu obronnego, który działa bez konieczności ciągłej, ręcznej interwencji.&lt;/p&gt;
&lt;p&gt;Fail2Ban to branżowy standard w tej dziedzinie. Monitoruje logi serwera w czasie rzeczywistym, identyfikuje podejrzane wzorce - takie jak powtarzające się błędy 404 lub nieudane próby logowania - i automatycznie aktualizuje zaporę sieciową, aby blokować adresy IP sprawców. Podczas gdy Nginx zarządza ruchem, Fail2Ban pełni rolę automatycznego strażnika.&lt;/p&gt;
&lt;p&gt;Ten przewodnik skupia się na czystej i łatwej w utrzymaniu instalacji na systemie Ubuntu. Unikamy powszechnego błędu bezpośredniej edycji domyślnych plików konfiguracyjnych, co gwarantuje, że reguły bezpieczeństwa przetrwają aktualizacje systemu. Po zakończeniu tego samouczka będziesz dysponować zabezpieczonym środowiskiem Nginx, skonfigurowanym do użycia backendu systemd w celu uzyskania optymalnej wydajności i minimalnego zużycia zasobów. Zakładamy, że posiadasz podstawową instalację Ubuntu z dostępem root lub sudo. Jeśli dopiero zaczynasz, upewnij się przed rozpoczęciem, że system jest zaaktualizowany, a zapora sieciowa jest włączona.&lt;/p&gt;
&lt;h2 id=&quot;wymagania-wstepne&quot;&gt;Wymagania wstępne &lt;/h2&gt;
&lt;p&gt;Przed rozpoczęciem upewnij się, że Twój serwer &lt;a href=&quot;https://voxihost.pl/pl/vps/&quot;&gt;VPS&lt;/a&gt; spełnia poniższe wymagania. Uruchomienie tych usług wymaga co najmniej 1 GB pamięci RAM oraz 1 rdzenia procesora, aby zachować stabilną wydajność podczas operacji analizy logów.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Dostęp do terminala z uprawnieniami &lt;code&gt;sudo&lt;/code&gt; w systemie Ubuntu 24.04 LTS lub nowszym.&lt;/li&gt;
&lt;li&gt;Aktywna zapora sieciowa, taka jak UFW, do skutecznego zarządzania ruchem sieciowym. Jeśli jeszcze nie skonfigurowałeś firewalla, sprawdź nasz poradnik: &lt;a href=&quot;https://voxihost.pl/pl/guides/konfiguracja-ufw-ubuntu-debian/&quot;&gt;Konfiguracja zapory UFW na systemach Ubuntu i Debian: Kompletny przewodnik serwerowy&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Zainstalowany i uruchomiony serwer Nginx. Jeśli potrzebujesz wykonać czystą instalację, skorzystaj z poradnika: &lt;a href=&quot;https://voxihost.pl/pl/guides/instalacja-nginx-ubuntu-debian/&quot;&gt;Instalacja Nginx na systemach Ubuntu i Debian: Kompletny przewodnik serwerowy&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Podstawowa znajomość edytorów tekstu, takich jak &lt;code&gt;nano&lt;/code&gt; lub &lt;code&gt;vim&lt;/code&gt;, niezbędna do modyfikacji plików konfiguracyjnych.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Zweryfikuj, czy zegar systemowy jest zsynchronizowany przy użyciu NTP, ponieważ Fail2Ban polega na dokładnych znacznikach czasu przy obliczaniu czasu trwania blokad. Możesz to sprawdzić, wykonując polecenie &lt;code&gt;timedatectl status&lt;/code&gt;. Na koniec upewnij się, że logi dostępowe Nginx są włączone i dostępne, ponieważ Fail2Ban będzie potrzebował uprawnień do odczytu, aby monitorować ruch przychodzący pod kątem złośliwej aktywności.&lt;/p&gt;
&lt;h2 id=&quot;krok-1-instalacja-nginx-oraz-fail2ban&quot;&gt;Krok 1: Instalacja Nginx oraz Fail2Ban &lt;/h2&gt;
&lt;p&gt;Na początku należy upewnić się, że lista pakietów jest aktualna, a następnie zainstalować niezbędne komponenty oprogramowania. Korzystanie z oficjalnych repozytoriów Ubuntu zapewnia otrzymywanie aktualizacji bezpieczeństwa oraz utrzymanie pełnej kompatybilności z architekturą systemu.&lt;/p&gt;
&lt;p&gt;Wykonaj poniższe polecenia, aby zaktualizować indeks pakietów i zainstalować zarówno Nginx, jak i Fail2Ban:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Aktualizacja listy pakietów oraz instalacja Nginx i Fail2Ban
sudo apt update
sudo apt install -y nginx fail2ban
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Po zakończeniu instalacji Fail2Ban tworzy domyślny plik konfiguracyjny znajdujący się w &lt;code&gt;/etc/fail2ban/jail.conf&lt;/code&gt;. Edycja tego pliku bezpośrednio nie jest zalecana, ponieważ aktualizacje pakietów mogą nadpisać wprowadzone zmiany. Zamiast tego tworzymy kopię lokalną, która ma pierwszeństwo.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Utworzenie lokalnego pliku konfiguracyjnego w celu zachowania ustawień
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nowoczesne dystrybucje Ubuntu wykorzystują &lt;code&gt;systemd&lt;/code&gt; do zarządzania logami. W celu uzyskania optymalnej wydajności oraz skrócenia czasu między zdarzeniem naruszenia a nałożeniem blokady, należy skonfigurować Fail2Ban tak, aby korzystał z backendu &lt;code&gt;systemd&lt;/code&gt; zamiast domyślnej metody odpytywania plików dziennika. Uruchom poniższe polecenie, aby zaktualizować konfigurację:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Ustawienie backendu Fail2Ban na systemd
sudo sed -i &#39;s/backend = auto/backend = systemd/g&#39; /etc/fail2ban/jail.local
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Po zastosowaniu tych ustawień środowisko jest gotowe na wprowadzenie szczegółowych reguł ochrony Nginx. W kolejnych krokach zdefiniujemy &amp;quot;jails&amp;quot; (więzienia), które będą monitorować ruch sieciowy.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/N3xp4Ut3PO-400.avif 400w, https://voxihost.pl/assets/images/generated/N3xp4Ut3PO-800.avif 800w, https://voxihost.pl/assets/images/generated/N3xp4Ut3PO-1600.avif 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/N3xp4Ut3PO-400.webp 400w, https://voxihost.pl/assets/images/generated/N3xp4Ut3PO-800.webp 800w, https://voxihost.pl/assets/images/generated/N3xp4Ut3PO-1600.webp 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/N3xp4Ut3PO-400.jpeg&quot; alt=&quot;Wyjście terminala pokazujące pomyślną instalację Nginx i Fail2Ban&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1600&quot; height=&quot;516&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/N3xp4Ut3PO-400.jpeg 400w, https://voxihost.pl/assets/images/generated/N3xp4Ut3PO-800.jpeg 800w, https://voxihost.pl/assets/images/generated/N3xp4Ut3PO-1600.jpeg 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;h2 id=&quot;krok-2-konfiguracja-wiezienia-fail2ban&quot;&gt;Krok 2: Konfiguracja więzienia Fail2Ban &lt;/h2&gt;
&lt;p&gt;Skoro zaplecze jest już gotowe, należy utworzyć konkretną konfigurację więzienia (jail) dla Nginx. Więzienie określa, które pliki dziennika mają być monitorowane oraz jakie działania należy podjąć po przekroczeniu określonego progu. Domyślnie Fail2Ban nie monitoruje aktywnie Nginx, dopóki użytkownik nie włączy odpowiedniego więzienia w pliku &lt;code&gt;jail.local&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Aby zdefiniować własną ochronę Nginx, otwórz lokalny plik konfiguracyjny w wybranym edytorze tekstu:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Otwarcie lokalnego pliku konfiguracyjnego
sudo nano /etc/fail2ban/jail.local
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Przewiń plik, aż znajdziesz sekcje &lt;code&gt;[nginx-http-auth]&lt;/code&gt; lub &lt;code&gt;[nginx-botsearch]&lt;/code&gt;. Możesz je włączyć, zmieniając parametr &lt;code&gt;enabled&lt;/code&gt; z &lt;code&gt;false&lt;/code&gt; na &lt;code&gt;true&lt;/code&gt;. W celu uzyskania skutecznej konfiguracji upewnij się, że poniższe linie znajdują się w pliku i nie są zakomentowane:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[nginx-http-auth]
enabled = true
port    = http,https
filter  = nginx-http-auth
logpath = /var/log/nginx/error.log

[nginx-botsearch]
enabled = true
port    = http,https
filter  = nginx-botsearch
logpath = /var/log/nginx/access.log
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Więzienie &lt;code&gt;nginx-http-auth&lt;/code&gt; chroni witrynę przed atakami typu brute-force na stronach zabezpieczonych przy użyciu Basic Auth, natomiast &lt;code&gt;nginx-botsearch&lt;/code&gt; blokuje złośliwe skanery próbujące odnaleźć ukryte katalogi administracyjne. Po dodaniu tych bloków zapisz plik, naciskając &lt;code&gt;Ctrl + O&lt;/code&gt;, następnie &lt;code&gt;Enter&lt;/code&gt;, a na koniec wyjdź za pomocą &lt;code&gt;Ctrl + X&lt;/code&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Uwaga:&lt;/strong&gt; Jeśli korzystasz z &lt;a href=&quot;https://voxihost.pl/pl/vps/&quot;&gt;VPS&lt;/a&gt; przy dużym natężeniu ruchu, upewnij się, że ścieżki do logów są zgodne z rzeczywistą konfiguracją Nginx. Jeśli katalog logów został zmieniony, zaktualizuj odpowiednio wartość &lt;code&gt;logpath&lt;/code&gt;, aby zapobiec problemom z uruchomieniem usługi.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/NcyLYQJWCh-400.avif 400w, https://voxihost.pl/assets/images/generated/NcyLYQJWCh-800.avif 800w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/NcyLYQJWCh-400.webp 400w, https://voxihost.pl/assets/images/generated/NcyLYQJWCh-800.webp 800w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/NcyLYQJWCh-400.jpeg&quot; alt=&quot;Edycja pliku konfiguracyjnego jail.local w edytorze nano w celu włączenia więzień Nginx&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;800&quot; height=&quot;397&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/NcyLYQJWCh-400.jpeg 400w, https://voxihost.pl/assets/images/generated/NcyLYQJWCh-800.jpeg 800w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;h2 id=&quot;krok-3-wlaczenie-wiezien-nginx&quot;&gt;Krok 3: Włączenie więzień Nginx &lt;/h2&gt;
&lt;p&gt;Po zaktualizowaniu konfiguracji &lt;code&gt;jail.local&lt;/code&gt; ostatnim etapem jest zastosowanie zmian. Fail2Ban musi zostać poinstruowany, aby przeładował swoją konfigurację, dzięki czemu nowe więzienia dla Nginx zostaną zainicjowane, a usługa monitorowania rozpocznie śledzenie plików dziennika w poszukiwaniu podejrzanej aktywności.&lt;/p&gt;
&lt;p&gt;Ponieważ zmodyfikowaliśmy główną konfigurację, musimy zrestartować usługę, aby zapisać te zmiany w pamięci. Wykonaj poniższe polecenia, aby włączyć usługę, zrestartować ją i zweryfikować, czy działa poprawnie:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Włączenie, restart i weryfikacja statusu usługi Fail2Ban
sudo systemctl enable fail2ban
sudo systemctl restart fail2ban
sudo systemctl status fail2ban
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Dane wyjściowe statusu powinny wskazywać, że usługa jest &lt;code&gt;active (running)&lt;/code&gt;. Możesz również zweryfikować, czy konkretne więzienia Nginx są aktywne, używając narzędzia &lt;code&gt;fail2ban-client&lt;/code&gt;. Narzędzie to komunikuje się bezpośrednio z działającym demonem i potwierdza, że więzienia poprawnie analizują pliki dziennika:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Weryfikacja, czy więzienia nginx-http-auth oraz nginx-botsearch są aktywne
sudo fail2ban-client status nginx-http-auth
sudo fail2ban-client status nginx-botsearch
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Jeśli status zwraca &amp;quot;Currently failed: 0&amp;quot; oraz &amp;quot;Total failed: 0&amp;quot;, konfiguracja jest gotowa. Usługa aktywnie skanuje teraz pliki w &lt;code&gt;/var/log/nginx/&lt;/code&gt; w poszukiwaniu wzorców pasujących do domyślnych filtrów. Jeśli zauważysz jakiekolwiek problemy z analizą logów, upewnij się, że uprawnienia do plików dziennika Nginx pozwalają użytkownikowi Fail2Ban na ich odczyt. W przypadku większości standardowych instalacji na serwerze &lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt; &lt;a href=&quot;https://voxihost.pl/pl/vps/&quot;&gt;VPS&lt;/a&gt; domyślne uprawnienia są wystarczające.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/o2rg0oVqKs-400.avif 400w, https://voxihost.pl/assets/images/generated/o2rg0oVqKs-800.avif 800w, https://voxihost.pl/assets/images/generated/o2rg0oVqKs-1600.avif 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/o2rg0oVqKs-400.webp 400w, https://voxihost.pl/assets/images/generated/o2rg0oVqKs-800.webp 800w, https://voxihost.pl/assets/images/generated/o2rg0oVqKs-1600.webp 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/o2rg0oVqKs-400.jpeg&quot; alt=&quot;Weryfikacja statusu aktywnych więzień Fail2Ban dla Nginx&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1600&quot; height=&quot;648&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/o2rg0oVqKs-400.jpeg 400w, https://voxihost.pl/assets/images/generated/o2rg0oVqKs-800.jpeg 800w, https://voxihost.pl/assets/images/generated/o2rg0oVqKs-1600.jpeg 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;h2 id=&quot;krok-4-weryfikacja-dzialania-fail2ban&quot;&gt;Krok 4: Weryfikacja działania Fail2Ban &lt;/h2&gt;
&lt;p&gt;Skoro usługa działa, a więzienia zostały zainicjowane, należy potwierdzić, że Fail2Ban faktycznie monitoruje logi i jest gotowy do blokowania złośliwego ruchu. Najbardziej niezawodnym sposobem na przetestowanie tego jest sprawdzenie statusu więzienia oraz symulacja nieudanej próby logowania.&lt;/p&gt;
&lt;p&gt;Najpierw zweryfikuj, czy Fail2Ban aktywnie monitoruje pliki logów Nginx, sprawdzając podsumowanie więzień:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Wyświetl listę aktualnie aktywnych więzień
sudo fail2ban-client status
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;W sekcji &amp;quot;Jail list&amp;quot; powinny być widoczne pozycje &lt;code&gt;nginx-http-auth&lt;/code&gt; oraz &lt;code&gt;nginx-botsearch&lt;/code&gt;. Jeśli się tam pojawiają, demon pomyślnie powiązał filtry z logami serwera Nginx.&lt;/p&gt;
&lt;p&gt;Aby przetestować działanie filtra, celowo wywołaj nieudaną próbę uwierzytelnienia na serwerze. Jeśli posiadasz blok lokalizacji Nginx chroniony za pomocą Basic Auth, spróbuj zalogować się z błędnymi danymi kilka razy. W przypadku braku chronionej strony możesz zasymulować atak bota, żądając nieistniejącego pliku, co wywoła filtr &lt;code&gt;nginx-botsearch&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Po wywołaniu błędu ponownie sprawdź status więzienia, aby zobaczyć, czy licznik wzrósł:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Sprawdź status konkretnego więzienia, aby zobaczyć nieudane próby
sudo fail2ban-client status nginx-http-auth
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Jeśli licznik &amp;quot;Currently failed&amp;quot; odzwierciedla wykonane próby, Fail2Ban poprawnie analizuje logi. Po osiągnięciu zdefiniowanego progu (ustawienie &lt;code&gt;maxretry&lt;/code&gt; w pliku &lt;code&gt;jail.local&lt;/code&gt;) Fail2Ban automatycznie wstawi regułę do zapory sieciowej, aby odrzucać przychodzący ruch z danego adresu IP. Możesz potwierdzić nałożenie blokady, sprawdzając logi:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Wyświetl końcową część logu Fail2Ban, aby zobaczyć akcje blokowania w czasie rzeczywistym
sudo tail -f /var/log/fail2ban.log
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Powinny pojawić się wpisy wskazujące, że dany adres IP został zablokowany.&lt;/p&gt;
&lt;h2 id=&quot;podsumowanie&quot;&gt;Podsumowanie &lt;/h2&gt;
&lt;p&gt;Zabezpieczenie serwera WWW przy użyciu Fail2Ban stanowi kluczową warstwę ochrony przed zautomatyzowanymi atakami. Dzięki monitorowaniu logów Nginx w czasie rzeczywistym i dynamicznej aktualizacji firewalla skutecznie neutralizujesz próby ataków typu brute-force oraz ruch generowany przez złośliwe boty, zanim wpłyną one na zasoby Twojego systemu.&lt;/p&gt;
&lt;p&gt;Na serwerze &lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt; &lt;a href=&quot;https://voxihost.pl/pl/vps/&quot;&gt;VPS&lt;/a&gt; to proaktywne podejście do bezpieczeństwa gwarantuje, że Twoje usługi pozostaną wydajne i dostępne dla legalnych użytkowników. Pamiętaj, że bezpieczeństwo nie jest jednorazową konfiguracją. Okresowo sprawdzaj ustawienia w pliku &lt;code&gt;jail.local&lt;/code&gt; oraz monitoruj logi, aby upewnić się, że Twoje filtry pozostają skuteczne wobec ewoluujących zagrożeń.&lt;/p&gt;
&lt;p&gt;Jeśli zdecydujesz się na modyfikację swoich polityk bezpieczeństwa, zawsze pamiętaj o sprawdzeniu składni plików konfiguracyjnych przed ponownym uruchomieniem usługi:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Sprawdź poprawność składni konfiguracji pod kątem błędów
sudo fail2ban-client -t
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;W przypadku konieczności wprowadzenia aktualizacji do konfiguracji bezpieczeństwa najpierw zatrzymaj usługę, aby zapewnić czysty stan, wprowadź zmiany, a następnie załaduj ją ponownie:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Bezpieczne zatrzymanie i ponowne uruchomienie Fail2Ban po zmianach w konfiguracji
sudo systemctl stop fail2ban
sudo systemctl start fail2ban
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Dzięki uruchomieniu Fail2Ban znacząco zmniejszyłeś powierzchnię ataku swojego środowiska Linux. W celu dalszego wzmocnienia ochrony rozważ połączenie tego rozwiązania z odpowiednio skonfigurowanym firewallem UFW, co zostało szczegółowo opisane w naszym poradniku dotyczącym tego, jak &lt;a href=&quot;https://voxihost.pl/pl/guides/konfiguracja-ufw-ubuntu-debian/&quot;&gt;skonfigurować firewall UFW na Ubuntu i Debianie&lt;/a&gt;. Zachowanie czujności oraz regularne aktualizowanie oprogramowania pozostają najlepszym sposobem na utrzymanie bezpiecznej i niezawodnej infrastruktury serwerowej.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Jak zainstalować Node.js na Ubuntu i Debian</title>
    <link href="https://voxihost.pl/pl/guides/jak-zainstalowac-nodejs-na-ubuntu-i-debian/" rel="alternate"/>
    <published>2026-07-27T00:00:00Z</published>
    <updated>2026-07-27T00:00:00Z</updated>
    <id>https://voxihost.pl/pl/guides/jak-zainstalowac-nodejs-na-ubuntu-i-debian/</id>
    <summary type="text">Dowiedz się, jak zainstalować stabilną wersję Node.js na Ubuntu i Debian za pomocą oficjalnego repozytorium NodeSource, zapewniając optymalną wydajność i bezpieczeństwo.</summary>
    <category term="Poradniki"/>
    <content xml:lang="pl" type="html">&lt;h2 id=&quot;wprowadzenie&quot;&gt;Wprowadzenie &lt;/h2&gt;
&lt;p&gt;Uruchamianie JavaScriptu po stronie serwera wymaga niezawodnego i aktualnego środowiska uruchomieniowego. Wiele dystrybucji Linuksa zawiera Node.js w domyślnych menedżerach pakietów, ale te wersje są zwykle przestarzałe, co może prowadzić do problemów z kompatybilnością nowoczesnych frameworków lub luk w zabezpieczeniach. Dla programistów wdrażających aplikacje na &lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt; &lt;a href=&quot;https://voxihost.pl/pl/vps/&quot;&gt;VPS&lt;/a&gt; utrzymanie aktualnego środowiska jest kluczowe dla wydajności i stabilności.&lt;/p&gt;
&lt;p&gt;Najskuteczniejszym sposobem zarządzania środowiskiem uruchomieniowym jest korzystanie z oficjalnych repozytoriów binarnych NodeSource. Takie podejście gwarantuje, że nie ograniczają Cię starsze wersje oprogramowania dostępne w standardowych repozytoriach systemowych. Konfigurując oficjalne repozytorium, zyskujesz płynny dostęp do najnowszych wydań o długoterminowym wsparciu (LTS), co zapewnia stabilność serwera produkcyjnego przy jednoczesnym wsparciu nowoczesnych funkcji standardu ECMAScript.&lt;/p&gt;
&lt;p&gt;Ten poradnik koncentruje się na czystej, profesjonalnej konfiguracji w systemach Ubuntu i Debian. Wykraczamy poza domyślne listy pakietów, aby zainstalować środowisko Node.js gotowe do pracy produkcyjnej. Niezależnie od tego, czy hostujesz lekkie API, czy złożoną aplikację czasu rzeczywistego, poniższe kroki zapewnią poprawną konfigurację serwera pod kątem długoterminowej niezawodności. Zakładamy, że dysponujesz świeżą instancją z co najmniej 1 GB RAM, aby proces budowania zakończył się bez problemów z pamięcią.&lt;/p&gt;
&lt;h2 id=&quot;wymagania-wstepne&quot;&gt;Wymagania wstępne &lt;/h2&gt;
&lt;p&gt;Musisz mieć dostęp do konta root lub użytkownika z uprawnieniami sudo. Ponieważ będziemy konfigurować zewnętrzne repozytoria, system musi być aktualny, aby uniknąć konfliktów z istniejącymi wersjami bibliotek. Jeśli nie przeprowadzałeś ostatnio aktualizacji systemu, rozważ wykonanie &lt;code&gt;sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y&lt;/code&gt; przed przejściem dalej.&lt;/p&gt;
&lt;p&gt;Ten przewodnik zakłada również, że pracujesz na czystej instalacji Ubuntu 24.04 lub nowszego, bądź Debian 12 lub nowszego. Jeśli zarządzasz firewallem, upewnij się, że został on już skonfigurowany tak, aby zezwalał na ruch na portach, których docelowo będzie używać Twoja aplikacja.&lt;/p&gt;
&lt;p&gt;Na koniec upewnij się, że masz dostęp do terminala lub klienta SSH. Będziemy używać narzędzia &lt;code&gt;curl&lt;/code&gt; do pobrania skryptów instalacyjnych, więc zweryfikuj, czy Twoje środowisko jest gotowe na obsługę tych zapytań sieciowych. Jeśli planujesz zarządzać wieloma instancjami serwerów lub potrzebujesz rozszerzonej ochrony dla swoich aplikacji, rozważ także nasze rozwiązanie &lt;a href=&quot;https://voxihost.pl/pl/shield/&quot;&gt;ochrony DDoS Shield&lt;/a&gt;, aby zabezpieczyć ruch na brzegu sieci.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/Wbo74WSXiE-400.avif 400w, https://voxihost.pl/assets/images/generated/Wbo74WSXiE-772.avif 772w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/Wbo74WSXiE-400.webp 400w, https://voxihost.pl/assets/images/generated/Wbo74WSXiE-772.webp 772w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/Wbo74WSXiE-400.jpeg&quot; alt=&quot;Ekran terminala pokazujący świeżo zaktualizowaną instancję Ubuntu gotową do instalacji oprogramowania&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;772&quot; height=&quot;373&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/Wbo74WSXiE-400.jpeg 400w, https://voxihost.pl/assets/images/generated/Wbo74WSXiE-772.jpeg 772w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;h2 id=&quot;krok-1-aktualizacja-pakietow-systemowych-i-instalacja-zaleznosci&quot;&gt;Krok 1: Aktualizacja pakietów systemowych i instalacja zależności &lt;/h2&gt;
&lt;p&gt;Zanim pobierzemy pliki binarne Node.js, musimy przygotować środowisko. Standardowe repozytoria dystrybucji często zawierają przestarzałe wersje Node.js, co może powodować problemy z kompatybilnością nowoczesnych frameworków. Aby tego uniknąć, wykorzystamy oficjalne repozytorium NodeSource.&lt;/p&gt;
&lt;p&gt;Skrypt instalacyjny wymaga narzędzia &lt;code&gt;curl&lt;/code&gt; do pobrania niezbędnych kluczy GPG oraz plików konfiguracyjnych repozytorium. Jeśli Twój serwer jest instalacją minimalną, narzędzie to może nie być obecne. Uruchom poniższe polecenie, aby odświeżyć listę pakietów i zainstalować wymaganą zależność:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Aktualizacja lokalnego indeksu pakietów i instalacja curl
sudo apt update &amp;amp;&amp;amp; sudo apt install -y curl
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Po zakończeniu instalacji Twój system będzie gotowy do komunikacji z serwerami NodeSource. Utrzymywanie aktualnej listy pakietów gwarantuje, że pobierasz najnowsze poprawki bezpieczeństwa dla bibliotek systemowych razem z nowym środowiskiem Node.js. Zweryfikowaliśmy, że takie podejście minimalizuje konflikty zależności zarówno w Ubuntu, jak i Debianie.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/d8c7-yv7Ym-400.avif 400w, https://voxihost.pl/assets/images/generated/d8c7-yv7Ym-772.avif 772w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/d8c7-yv7Ym-400.webp 400w, https://voxihost.pl/assets/images/generated/d8c7-yv7Ym-772.webp 772w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/d8c7-yv7Ym-400.jpeg&quot; alt=&quot;Wyjście terminala pokazujące pomyślną instalację pakietu curl po aktualizacji apt&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;772&quot; height=&quot;373&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/d8c7-yv7Ym-400.jpeg 400w, https://voxihost.pl/assets/images/generated/d8c7-yv7Ym-772.jpeg 772w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;h2 id=&quot;krok-2-dodanie-repozytorium-nodesource&quot;&gt;Krok 2: Dodanie repozytorium NodeSource &lt;/h2&gt;
&lt;p&gt;Skoro system posiada już niezbędne narzędzia do obsługi zapytań zdalnych, skonfigurujemy repozytorium NodeSource. Działa ono jako pomost, umożliwiając menedżerowi pakietów śledzenie i instalowanie oficjalnych wydań o długoterminowym wsparciu (LTS) bezpośrednio ze źródła.&lt;/p&gt;
&lt;p&gt;Użycie zautomatyzowanego skryptu instalacyjnego jest najbardziej niezawodnym sposobem obsługi importu kluczy GPG oraz generowania plików repozytorium. Dzięki fladze &lt;code&gt;-E&lt;/code&gt; użytej z &lt;code&gt;sudo&lt;/code&gt; zachowujemy bieżące zmienne środowiskowe podczas wykonywania skryptu, co ma kluczowe znaczenie dla poprawnego wykrycia architektury systemu i wersji dystrybucji.&lt;/p&gt;
&lt;p&gt;Wykonaj poniższe polecenia, aby pobrać skrypt instalacyjny i zastosować konfigurację na serwerze:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Pobranie skryptu instalacyjnego NodeSource LTS
curl -fsSL https://deb.nodesource.com/setup_lts.x -o nodesource_setup.sh

## Wykonanie skryptu w celu konfiguracji repozytorium
sudo -E bash nodesource_setup.sh
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Skrypt automatycznie zaktualizuje lokalne listy pakietów po dodaniu repozytorium. W terminalu pojawi się seria logów wskazujących, że źródła pakietów zostały odświeżone, a klucze GPG zaimportowane pomyślnie. Jeśli pojawią się ostrzeżenia dotyczące brakujących kluczy, zweryfikuj stabilność połączenia internetowego oraz upewnij się, że zapora sieciowa nie blokuje ruchu wychodzącego do &lt;code&gt;deb.nodesource.com&lt;/code&gt;. Po zakończeniu tego procesu serwer będzie gotowy do pobrania najnowszych stabilnych plików binarnych Node.js.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/9yCcfewAQJ-400.avif 400w, https://voxihost.pl/assets/images/generated/9yCcfewAQJ-800.avif 800w, https://voxihost.pl/assets/images/generated/9yCcfewAQJ-1227.avif 1227w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/9yCcfewAQJ-400.webp 400w, https://voxihost.pl/assets/images/generated/9yCcfewAQJ-800.webp 800w, https://voxihost.pl/assets/images/generated/9yCcfewAQJ-1227.webp 1227w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/9yCcfewAQJ-400.jpeg&quot; alt=&quot;Wyjście terminala pokazujące skrypt konfigurujący repozytorium NodeSource i aktualizujący listę pakietów&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1227&quot; height=&quot;840&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/9yCcfewAQJ-400.jpeg 400w, https://voxihost.pl/assets/images/generated/9yCcfewAQJ-800.jpeg 800w, https://voxihost.pl/assets/images/generated/9yCcfewAQJ-1227.jpeg 1227w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;h2 id=&quot;krok-3-instalacja-node-js-oraz-npm&quot;&gt;Krok 3: Instalacja Node.js oraz NPM &lt;/h2&gt;
&lt;p&gt;Gdy repozytorium NodeSource jest już aktywne w systemie, końcowy etap instalacji jest prosty. Ponieważ poprzedni krok wywołał automatyczną aktualizację list pakietów, możesz przejść bezpośrednio do instalacji środowiska uruchomieniowego Node.js oraz menedżera pakietów NPM.&lt;/p&gt;
&lt;p&gt;Korzystanie z oficjalnego repozytorium gwarantuje otrzymanie nowoczesnej, wspieranej wersji Node.js, znacznie bardziej stabilnej i bogatej w funkcje niż starsze wersje spotykane w domyślnych archiwach dystrybucji. Wykonaj poniższe polecenie, aby zainstalować pakiet:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Instalacja Node.js oraz NPM z repozytorium NodeSource
sudo apt install -y nodejs
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Pakiet &lt;code&gt;nodejs&lt;/code&gt; zawiera zarówno plik binarny do uruchamiania aplikacji, jak i narzędzie &lt;code&gt;npm&lt;/code&gt; do zarządzania zależnościami projektu. Instalacja przebiega zwykle szybko, ponieważ wymaga jedynie pobrania plików binarnych z repozytorium, które właśnie skonfigurowałeś.&lt;/p&gt;
&lt;p&gt;Po zakończeniu działania polecenia podstawowe środowisko jest już gotowe. Możesz teraz zweryfikować, czy wszystko zostało poprawnie powiązane, i sprawdzić konkretną wersję środowiska uruchomieniowego działającą na Twoim serwerze &lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt; &lt;a href=&quot;https://voxihost.pl/pl/vps/&quot;&gt;VPS&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/Qm6sdRZV35-400.avif 400w, https://voxihost.pl/assets/images/generated/Qm6sdRZV35-800.avif 800w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/Qm6sdRZV35-400.webp 400w, https://voxihost.pl/assets/images/generated/Qm6sdRZV35-800.webp 800w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/Qm6sdRZV35-400.jpeg&quot; alt=&quot;Wyjście terminala pokazujące pomyślną instalację pakietu nodejs za pomocą apt&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;800&quot; height=&quot;325&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/Qm6sdRZV35-400.jpeg 400w, https://voxihost.pl/assets/images/generated/Qm6sdRZV35-800.jpeg 800w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;h2 id=&quot;krok-4-weryfikacja-instalacji&quot;&gt;Krok 4: Weryfikacja instalacji &lt;/h2&gt;
&lt;p&gt;Po zainstalowaniu plików binarnych musisz potwierdzić, że system poprawnie wskazuje na wersje pochodzące z NodeSource. To kluczowy krok, aby upewnić się, że Twój serwer &lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt; &lt;a href=&quot;https://voxihost.pl/pl/vps/&quot;&gt;VPS&lt;/a&gt; nie korzysta przypadkowo ze starszej, zbuforowanej lub domyślnej systemowej wersji środowiska uruchomieniowego.&lt;/p&gt;
&lt;p&gt;Wykonaj poniższe polecenia, aby wyświetlić aktualnie aktywne wersje:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Sprawdź zainstalowaną wersję Node.js
node -v

## Sprawdź zainstalowaną wersję NPM
npm -v
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Polecenie &lt;code&gt;node -v&lt;/code&gt; powinno zwrócić ciąg znaków wersji zaczynający się od &lt;code&gt;v20&lt;/code&gt; lub wyższej, w zależności od bieżącego wydania LTS. Jeśli zobaczysz wynik w formacie &lt;code&gt;v26.x.x&lt;/code&gt;, Twój serwer jest poprawnie skonfigurowany do korzystania z najnowszego wydania o długoterminowym wsparciu. Polecenie &lt;code&gt;npm -v&lt;/code&gt; zwróci wersję menedżera pakietów, potwierdzając, że jest on również gotowy do użycia.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Uwaga:&lt;/strong&gt; Jeśli napotkasz błąd „command not found”, zazwyczaj oznacza to, że ścieżka powłoki nie została zaktualizowana. Wystarczy wylogować się i zalogować ponownie do sesji SSH, aby odświeżyć zmienne środowiskowe.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Wszystko jest teraz skonfigurowane dla Twojego środowiska programistycznego. Z powodzeniem ominąłeś przestarzałe repozytoria systemowe i zabezpieczyłeś stabilny fundament dla swoich aplikacji JavaScript na swoim &lt;a href=&quot;https://voxihost.pl/pl/vps/&quot;&gt;VPS&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/u5wXIlHzvQ-250.avif 250w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/u5wXIlHzvQ-250.webp 250w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/u5wXIlHzvQ-250.jpeg&quot; alt=&quot;Terminal pokazujący wynik poleceń node -v oraz npm -v potwierdzający poprawną instalację&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;250&quot; height=&quot;110&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;h2 id=&quot;podsumowanie&quot;&gt;Podsumowanie &lt;/h2&gt;
&lt;p&gt;Pomyślnie skonfigurowałeś stabilne środowisko Node.js na swoim serwerze z systemem Linux. Korzystając z oficjalnego repozytorium NodeSource zamiast domyślnych pakietów dystrybucyjnych, zapewniasz swojemu serwerowi &lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt; &lt;a href=&quot;https://voxihost.pl/pl/vps/&quot;&gt;VPS&lt;/a&gt; dostęp do terminowych poprawek bezpieczeństwa oraz nowoczesnych funkcji JavaScript. Taka konfiguracja gwarantuje stabilność wymaganą w środowiskach produkcyjnych - niezależnie od tego, czy uruchamiasz lekkie API na &lt;a href=&quot;https://voxihost.pl/pl/vps/budget/&quot;&gt;Budget VPS&lt;/a&gt;, czy aplikację o dużym natężeniu ruchu na &lt;a href=&quot;https://voxihost.pl/pl/vps/premium/&quot;&gt;Premium VPS&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Pamiętaj, że aktualizacja środowiska uruchomieniowego jest kluczowa zarówno dla wydajności, jak i bezpieczeństwa. Gdy pojawi się nowa wersja LTS, możesz zaktualizować swoje środowisko, odświeżając listy pakietów i aktualizując plik binarny:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Aktualizacja lokalnych list pakietów
sudo apt update

## Aktualizacja pakietu Node.js do najnowszej wersji
sudo apt upgrade -y nodejs
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Jeśli planujesz wdrożenie bardziej złożonych aplikacji, rozważ użycie menedżera procesów, takiego jak PM2, aby zapewnić działanie usług po ponownym uruchomieniu serwera. Możesz też zapoznać się z naszym przewodnikiem &lt;a href=&quot;https://voxihost.pl/pl/guides/instalacja-nginx-ubuntu-debian/&quot;&gt;Jak zainstalować Nginx na Ubuntu i Debian: kompletny przewodnik po serwerze&lt;/a&gt;, jeśli zamierzasz skonfigurować reverse proxy dla swojej aplikacji Node.js. Twój serwer jest teraz gotowy do pracy, testów lub wdrożenia produkcyjnego. Powodzenia w kodowaniu.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Jak skonfigurować Python Venv na Ubuntu</title>
    <link href="https://voxihost.pl/pl/guides/jak-skonfigurowac-python-venv-na-ubuntu/" rel="alternate"/>
    <published>2026-07-21T00:00:00Z</published>
    <updated>2026-07-21T00:00:00Z</updated>
    <id>https://voxihost.pl/pl/guides/jak-skonfigurowac-python-venv-na-ubuntu/</id>
    <summary type="text">Dowiedz się jak poprawnie skonfigurować izolowane środowiska wirtualne Python na Ubuntu przy użyciu modułu venv, unikając konfliktów zależności systemowych.</summary>
    <category term="Poradniki"/>
    <content xml:lang="pl" type="html">&lt;h2 id=&quot;wprowadzenie&quot;&gt;Wprowadzenie &lt;/h2&gt;
&lt;p&gt;Zarządzanie zależnościami języka Python na serwerze produkcyjnym często prowadzi do konfliktów. Instalowanie pakietów globalnie za pomocą &lt;code&gt;pip&lt;/code&gt; niesie ze sobą ryzyko uszkodzenia narzędzi systemowych, które polegają na konkretnych wersjach bibliotek. W nowoczesnych dystrybucjach Ubuntu problem ten został dodatkowo rozwiązany przez PEP 668, który ogranicza globalną instalację pakietów w celu zapewnienia stabilności systemu.&lt;/p&gt;
&lt;p&gt;Standardowym rozwiązaniem w branży jest środowisko wirtualne, czyli &lt;code&gt;venv&lt;/code&gt;. Izolując zależności projektu w lokalnym katalogu, zyskujesz pewność, że aplikacja posiada dokładnie to, czego potrzebuje, nie zakłócając przy tym działania systemu operacyjnego ani innych projektów hostowanych na Twoim &lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt; &lt;a href=&quot;https://voxihost.pl/pl/vps/premium/&quot;&gt;Premium VPS&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Ten przewodnik przedstawia bezpośrednie i konkretne podejście do konfiguracji izolowanych środowisk Python. Przejdziemy przez proces instalacji niezbędnego modułu, utworzymy czysty obszar roboczy oraz aktywujemy środowisko, aby bezpiecznie instalować pakiety. Niezależnie od tego, czy uruchamiasz lekki mikroserwis na &lt;a href=&quot;https://voxihost.pl/pl/vps/budget/&quot;&gt;Budget VPS&lt;/a&gt;, czy zarządzasz złożonymi potokami danych, ta konfiguracja stanowi fundament profesjonalnego programowania w języku Python na systemach Linux.&lt;/p&gt;
&lt;h2 id=&quot;wymagania-wstepne&quot;&gt;Wymagania wstępne &lt;/h2&gt;
&lt;p&gt;Przed rozpoczęciem upewnij się, że Twój serwer spełnia minimalne wymagania dla stabilnego środowiska programistycznego. Zalecamy posiadanie co najmniej 512 MB pamięci RAM oraz 1 rdzenia procesora, co stanowi standard dla naszych instancji &lt;a href=&quot;https://voxihost.pl/pl/vps/budget/&quot;&gt;Budget VPS&lt;/a&gt; oraz &lt;a href=&quot;https://voxihost.pl/pl/vps/premium/&quot;&gt;Premium VPS&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Powinieneś posiadać dostęp do serwera z systemem Ubuntu 22.04 LTS lub nowszym oraz użytkownika innego niż root, który posiada uprawnienia &lt;code&gt;sudo&lt;/code&gt;. Jeśli nie skonfigurowałeś jeszcze swojego konta administracyjnego, zapoznaj się z naszym przewodnikiem &lt;a href=&quot;https://voxihost.pl/pl/guides/jak-dodac-uzytkownika-sudo-ubuntu/&quot;&gt;Jak dodać użytkownika sudo na Ubuntu&lt;/a&gt;, aby upewnić się, że nie uruchamiasz zadań programistycznych jako użytkownik root.&lt;/p&gt;
&lt;p&gt;Dodatkowo potwierdź, że zegar systemowy jest zsynchronizowany, aby uniknąć błędów SSL podczas pobierania pakietów. Powinieneś również upewnić się, że lista pakietów APT jest aktualna, aby uniknąć problemów z rozwiązaniem zależności. Choć na tym etapie nie jest wymagany żaden konkretny kod w języku Python, oczekuje się podstawowej znajomości wiersza poleceń.&lt;/p&gt;
&lt;p&gt;Na koniec sprawdź, czy masz wystarczającą ilość miejsca na dysku w katalogu projektu, aby pomieścić strukturę środowiska wirtualnego, która zazwyczaj zajmuje kilka megabajtów na pliki podstawowe oraz rozmiar wszelkich zależności specyficznych dla projektu, które zamierzasz zainstalować później.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/OY76kvPNhr-400.avif 400w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/OY76kvPNhr-400.webp 400w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/OY76kvPNhr-400.jpeg&quot; alt=&quot;Sesja terminala wyświetlająca sprawdzenie zasobów systemowych i walidację użytkownika przed rozpoczęciem instalacji Python venv&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;400&quot; height=&quot;177&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;h2 id=&quot;krok-1-instalacja-modulu-python-venv&quot;&gt;Krok 1: Instalacja modułu Python Venv &lt;/h2&gt;
&lt;p&gt;Nowoczesne wersje systemu Ubuntu zawierają domyślnie zainstalowany język Python, jednak moduł wymagany do tworzenia izolowanych środowisk jest często pomijany w podstawowej instalacji w celu oszczędności miejsca. Aby zarządzać zależnościami projektów bez zaśmiecania globalnych pakietów systemowych, należy zainstalować pakiet &lt;code&gt;python3-venv&lt;/code&gt;. Zapewnia to zgodność z wytycznymi PEP 668, które ograniczają globalne instalacje za pomocą pip w nowszych wydaniach Ubuntu, aby zapobiec konfliktom z oprogramowaniem na poziomie systemu.&lt;/p&gt;
&lt;p&gt;Należy wykonać poniższe polecenia, aby zaktualizować lokalny indeks pakietów i pobrać niezbędny moduł do systemu:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Aktualizacja indeksu pakietów i instalacja modułu środowiska wirtualnego
sudo apt update
sudo apt install -y python3-venv
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ta instalacja dostarcza moduł &lt;code&gt;venv&lt;/code&gt;, który umożliwia tworzenie lekkich, odizolowanych środowisk Python. Po zakończeniu procesu warto zweryfikować instalację, sprawdzając wersję języka Python. Choć nie potwierdza to bezpośrednio obecności samego modułu, zapewnia, że środowisko jest gotowe do kolejnych kroków:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Weryfikacja instalacji języka Python
python3 --version
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;W przypadku korzystania z &lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt; &lt;a href=&quot;https://voxihost.pl/pl/vps/premium/&quot;&gt;Premium VPS&lt;/a&gt;, operacja ta zakończy się w kilka sekund. Jesteś teraz gotowy do zainicjowania swojego pierwszego wirtualnego środowiska wewnątrz dedykowanego katalogu projektu.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/GDhqxnj8kr-400.avif 400w, https://voxihost.pl/assets/images/generated/GDhqxnj8kr-800.avif 800w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/GDhqxnj8kr-400.webp 400w, https://voxihost.pl/assets/images/generated/GDhqxnj8kr-800.webp 800w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/GDhqxnj8kr-400.jpeg&quot; alt=&quot;Wyjście terminala pokazujące pomyślną instalację pakietu python3-venv za pomocą apt&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;800&quot; height=&quot;558&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/GDhqxnj8kr-400.jpeg 400w, https://voxihost.pl/assets/images/generated/GDhqxnj8kr-800.jpeg 800w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;h2 id=&quot;krok-2-utworzenie-katalogu-projektu&quot;&gt;Krok 2: Utworzenie katalogu projektu &lt;/h2&gt;
&lt;p&gt;Zanim zainicjujesz środowisko, potrzebujesz uporządkowanej przestrzeni roboczej dla kodu aplikacji oraz jej zależności. Przechowywanie projektów w oddzielnych katalogach zapobiega bałaganowi w plikach i ułatwia zarządzanie wieloma środowiskami na serwerze &lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Przejdź do swojego katalogu domowego lub dedykowanego folderu dla swoich projektów programistycznych, a następnie utwórz nowy katalog dla konkretnego zadania:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Utwórz nowy katalog projektu i przejdź do niego
mkdir -p ~/my_python_project
cd ~/my_python_project
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/tUXOAzTB1g-386.avif 386w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/tUXOAzTB1g-386.webp 386w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/tUXOAzTB1g-386.jpeg&quot; alt=&quot;Terminal pokazujący tworzenie katalogu projektu&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;386&quot; height=&quot;60&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;h2 id=&quot;krok-3-tworzenie-i-aktywacja-srodowiska-wirtualnego&quot;&gt;Krok 3: Tworzenie i aktywacja środowiska wirtualnego &lt;/h2&gt;
&lt;p&gt;Gdy katalog projektu jest już gotowy, można zainicjować środowisko wirtualne. Użyjemy modułu &lt;code&gt;venv&lt;/code&gt;, aby wygenerować lokalny katalog o nazwie &lt;code&gt;venv&lt;/code&gt;. Ten folder będzie zawierał samodzielny plik binarny języka Python oraz własny instalator &lt;code&gt;pip&lt;/code&gt;, skutecznie izolując projekt od reszty systemu operacyjnego.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Inicjalizacja środowiska wirtualnego w bieżącym folderze
python3 -m venv venv
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Po wykonaniu tego polecenia w bieżącej ścieżce pojawi się nowy katalog &lt;code&gt;venv&lt;/code&gt;. Katalog ten przechowuje wszystko, co jest potrzebne do uruchomienia projektu bez konieczności posiadania uprawnień administratora. Nie należy używać &lt;code&gt;sudo&lt;/code&gt; w tym kroku ani w żadnych kolejnych operacjach zarządzania pakietami wewnątrz tego środowiska, ponieważ może to spowodować problemy z uprawnieniami, które uszkodzą konfigurację projektu. Następnie należy aktywować środowisko, aby rozpocząć korzystanie z lokalnych plików binarnych:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Aktywacja środowiska wirtualnego
source venv/bin/activate
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Po aktywacji zauważysz, że znak zachęty terminala zmienił się i zawiera teraz &lt;code&gt;(venv)&lt;/code&gt; na początku. Ten wskaźnik wizualny potwierdza, że wszelkie kolejne polecenia, takie jak &lt;code&gt;python&lt;/code&gt; lub &lt;code&gt;pip&lt;/code&gt;, wskazują teraz na pliki binarne znajdujące się wewnątrz folderu projektu, a nie na domyślne pliki systemowe.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Uwaga:&lt;/strong&gt; Jeśli po aktywacji narzędzie &lt;code&gt;pip&lt;/code&gt; nie jest dostępne, można upewnić się, że jest zainstalowane, wykonując polecenie &lt;code&gt;python3 -m ensurepip --upgrade&lt;/code&gt;. Spowoduje to bezpieczną instalację menedżera pakietów bezpośrednio w środowisku wirtualnym bez wpływu na system hosta.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;W tym momencie serwer &lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt; jest poprawnie skonfigurowany do lokalnego programowania. Możesz teraz bezpiecznie instalować biblioteki specyficzne dla projektu za pomocą &lt;code&gt;pip install &amp;lt;nazwa_pakietu&amp;gt;&lt;/code&gt;. Ponieważ korzystasz ze środowiska wirtualnego, pakiety te pozostaną zamknięte wewnątrz katalogu &lt;code&gt;~/my_python_project/venv&lt;/code&gt;, utrzymując system w czystości i unikając konfliktów z innymi aplikacjami.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/uYdT-rRay1-400.avif 400w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/uYdT-rRay1-400.webp 400w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/uYdT-rRay1-400.jpeg&quot; alt=&quot;Terminal pokazujący aktywowane środowisko wirtualne z prefiksem (venv) w znaku zachęty&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;400&quot; height=&quot;42&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;h2 id=&quot;krok-4-zarzadzanie-pakietami-wewnatrz-srodowiska&quot;&gt;Krok 4: Zarządzanie pakietami wewnątrz środowiska &lt;/h2&gt;
&lt;p&gt;Po aktywacji środowiska możesz zarządzać zależnościami projektu bez konieczności posiadania uprawnień administratora. Podstawowym narzędziem do tego celu jest &lt;code&gt;pip&lt;/code&gt;, standardowy instalator pakietów dla języka Python. Ponieważ Twój powłoka wskazuje obecnie na izolowane pliki binarne &lt;code&gt;venv&lt;/code&gt;, każda zainstalowana biblioteka zostanie zapisana wyłącznie w folderze projektu.&lt;/p&gt;
&lt;p&gt;Aby zainstalować pakiet, taki jak &lt;code&gt;requests&lt;/code&gt;, uruchom:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Zainstaluj pakiet wewnątrz wirtualnego środowiska
pip install requests
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Możesz zweryfikować, czy biblioteka została poprawnie zainstalowana, wyświetlając listę aktualnie dostępnych pakietów w Twoim środowisku:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Wyświetl listę wszystkich zainstalowanych pakietów w bieżącym venv
pip list
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Jeśli pracujesz nad wspólnym projektem lub przenosisz swój kod na produkcyjny serwer &lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt;, powinieneś wygenerować plik z wymaganiami. Pozwala to na dokładne śledzenie wersji bibliotek, których wymaga Twój projekt:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Eksportuj zależności bieżącego środowiska do pliku
pip freeze &amp;gt; requirements.txt
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Plik &lt;code&gt;requirements.txt&lt;/code&gt; jest standardem w branży, służącym do utrzymywania spójnych środowisk na różnych maszynach. Jeśli kiedykolwiek zajdzie potrzeba odtworzenia tego środowiska na innym serwerze, możesz zainstalować wszystkie zależności jednocześnie, używając polecenia &lt;code&gt;pip install -r requirements.txt&lt;/code&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Uwaga:&lt;/strong&gt; Nigdy nie używaj &lt;code&gt;sudo&lt;/code&gt; podczas uruchamiania &lt;code&gt;pip&lt;/code&gt; wewnątrz wirtualnego środowiska. Użycie &lt;code&gt;sudo&lt;/code&gt; może spowodować błędy uprawnień do plików i nieumyślnie zainstalować pakiety w systemowym katalogu Pythona, co narusza izolację, którą właśnie ustanowiłeś.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/_MwENe_xGG-400.avif 400w, https://voxihost.pl/assets/images/generated/_MwENe_xGG-800.avif 800w, https://voxihost.pl/assets/images/generated/_MwENe_xGG-1111.avif 1111w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/_MwENe_xGG-400.webp 400w, https://voxihost.pl/assets/images/generated/_MwENe_xGG-800.webp 800w, https://voxihost.pl/assets/images/generated/_MwENe_xGG-1111.webp 1111w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/_MwENe_xGG-400.jpeg&quot; alt=&quot;Terminal pokazujący wynik instalacji pip oraz wygenerowany plik requirements.txt wewnątrz aktywnego venv&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1111&quot; height=&quot;443&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/_MwENe_xGG-400.jpeg 400w, https://voxihost.pl/assets/images/generated/_MwENe_xGG-800.jpeg 800w, https://voxihost.pl/assets/images/generated/_MwENe_xGG-1111.jpeg 1111w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;h2 id=&quot;podsumowanie&quot;&gt;Podsumowanie &lt;/h2&gt;
&lt;p&gt;Pomyślnie utworzyłeś odizolowane środowisko Python w swoim systemie. Rezygnując z globalnego zarządzania pakietami, wyeliminowałeś ryzyko konfliktów zależności i zapewniłeś przenośność oraz stabilność swoich projektów. Ten sposób pracy jest szczególnie istotny podczas wdrażania aplikacji na serwerze &lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt; &lt;a href=&quot;https://voxihost.pl/pl/vps/premium/&quot;&gt;Premium VPS&lt;/a&gt; lub &lt;a href=&quot;https://voxihost.pl/pl/vps/budget/&quot;&gt;Budget VPS&lt;/a&gt;, gdzie utrzymanie czystego stanu systemu jest niezbędne dla długoterminowej kondycji serwera.&lt;/p&gt;
&lt;p&gt;Pamiętaj, że środowiska wirtualne są tymczasowe. Jeśli zajdzie potrzeba aktualizacji zależności, wystarczy ponownie aktywować środowisko za pomocą polecenia &lt;code&gt;source venv/bin/activate&lt;/code&gt; i uruchomić aktualizacje. W przypadku, gdy wymagania projektu ulegną znaczącej zmianie, często czystszym rozwiązaniem jest usunięcie katalogu &lt;code&gt;venv&lt;/code&gt; i utworzenie go ponownie z pliku &lt;code&gt;requirements.txt&lt;/code&gt;, zamiast ręcznego odinstalowywania dziesiątek pojedynczych pakietów.&lt;/p&gt;
&lt;p&gt;W miarę rozwoju projektów warto rozważyć ich konteneryzację przy użyciu Docker lub wdrożenie automatycznych skryptów, które zajmą się konfiguracją środowisk. Na ten moment dysponujesz solidnym fundamentem do lokalnego programowania oraz wdrażania na produkcję. Dbaj o bezpieczeństwo serwera, blokuj wersje zależności i rozwijaj swoją infrastrukturę z pewnością siebie.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Jak zainstalować PHP-FPM z Nginx na Ubuntu</title>
    <link href="https://voxihost.pl/pl/guides/jak-zainstalowac-php-fpm-z-nginx-na-ubuntu/" rel="alternate"/>
    <published>2026-07-20T00:00:00Z</published>
    <updated>2026-07-20T00:00:00Z</updated>
    <id>https://voxihost.pl/pl/guides/jak-zainstalowac-php-fpm-z-nginx-na-ubuntu/</id>
    <summary type="text">Dowiedz się jak zainstalować i skonfigurować PHP-FPM z Nginx na Ubuntu. Przewodnik obejmuje instalację, konfigurację serwera oraz testy na serwerze VoxiHost.</summary>
    <category term="Poradniki"/>
    <content xml:lang="pl" type="html">&lt;h2 id=&quot;wstep&quot;&gt;Wstęp &lt;/h2&gt;
&lt;p&gt;Uruchomienie wydajnego serwera WWW wymaga stosu technologicznego, który łączy szybkość z oszczędnością zasobów. Choć serwer Apache obsługuje ruch w sieci od dziesięcioleci, to połączenie Nginx z PHP-FPM stało się standardem w przypadku nowoczesnych aplikacji o dużym natężeniu ruchu. Dzięki przeniesieniu przetwarzania PHP do dedykowanego menedżera procesów FastCGI, zyskujesz znaczną poprawę w zakresie zużycia pamięci oraz obsługi żądań w porównaniu do starszych metod wykonywania skryptów.&lt;/p&gt;
&lt;p&gt;Ten przewodnik skupia się na konfiguracji stabilnego, gotowego do pracy produkcyjnej środowiska na systemie Ubuntu 26.04 LTS. Przeprowadzimy proces instalacji Nginx oraz domyślnej wersji PHP 8.5 (PHP-FPM) dostępnej w systemie, dbając o to, aby poprawnie komunikowały się ze sobą za pośrednictwem gniazd Unix. Taka konfiguracja jest idealna dla programistów hostujących dynamiczne strony na serwerach &lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt; &lt;a href=&quot;https://voxihost.pl/pl/vps/premium/&quot;&gt;Premium VPS&lt;/a&gt;, gdzie redukcja opóźnień ma kluczowe znaczenie.&lt;/p&gt;
&lt;p&gt;Stawiamy na czystą i minimalistyczną instalację. Unikamy rozbudowanych pakietów na rzecz oficjalnych repozytoriów, które gwarantują, że aktualizacje bezpieczeństwa są dostępne na wyciągnięcie ręki poprzez polecenie &lt;code&gt;apt upgrade&lt;/code&gt;. Pod koniec tego poradnika będziesz dysponować funkcjonalnym serwerem WWW, zdolnym do obsługi dynamicznych treści PHP, wraz z niezbędnymi poprawkami konfiguracji pozwalającymi uniknąć typowych wąskich gardeł. Niezależnie od tego, czy migrujesz istniejącą aplikację, czy uruchamiasz nowy projekt, ta konfiguracja stanowi solidny fundament dla Twojej infrastruktury.&lt;/p&gt;
&lt;h2 id=&quot;wymagania-wstepne&quot;&gt;Wymagania wstępne &lt;/h2&gt;
&lt;p&gt;Przed rozpoczęciem instalacji należy upewnić się, że serwer spełnia podstawowe wymagania dla stabilnego środowiska produkcyjnego. Zalecamy posiadanie co najmniej 1 GB pamięci RAM oraz przynajmniej jednego dedykowanego rdzenia procesora, aby obsłużyć narzut serwera Nginx oraz procesów roboczych PHP-FPM bez spadku wydajności. Niniejszy przewodnik zakłada, że korzystasz ze świeżej instalacji systemu Ubuntu 26.04 LTS.&lt;/p&gt;
&lt;p&gt;Konieczne jest posiadanie dostępu do konta root lub użytkownika z uprawnieniami &lt;code&gt;sudo&lt;/code&gt; w celu wykonywania poleceń administracyjnych. Jeśli korzystasz z usługi &lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt; &lt;a href=&quot;https://voxihost.pl/pl/vps/budget/&quot;&gt;Budget VPS&lt;/a&gt;, upewnij się, że zapora sieciowa jest poprawnie skonfigurowana, aby zezwalać na ruch przychodzący na portach 80 oraz 443. Jeśli zapora nie została jeszcze skonfigurowana, zapoznaj się z naszym przewodnikiem dotyczącym &lt;a href=&quot;https://voxihost.pl/pl/guides/konfiguracja-ufw-ubuntu-debian/&quot;&gt;konfiguracji UFW&lt;/a&gt;, aby zapobiec nieautoryzowanemu dostępowi do portów zarządzania.&lt;/p&gt;
&lt;p&gt;Należy zweryfikować, czy lista pakietów jest aktualna, a system w pełni zaktualizowany, aby uniknąć konfliktów zależności podczas procesu instalacji. Mimo że w kolejnych krokach zainstalujemy określone pakiety, posiadanie czystego i zaktualizowanego środowiska pozwala zapobiec typowym błędom niezgodności bibliotek. Upewnij się, że jesteś zalogowany na serwerze przez SSH oraz masz przygotowaną domenę lub adres IP serwera w celu przetestowania finalnej konfiguracji.&lt;/p&gt;
&lt;h2 id=&quot;krok-1-instalacja-nginx-i-php-fpm&quot;&gt;Krok 1: Instalacja Nginx i PHP-FPM &lt;/h2&gt;
&lt;p&gt;Aby rozpocząć konfigurację, należy pobrać najnowsze metadane pakietów z oficjalnych repozytoriów i zainstalować serwer WWW Nginx wraz z interpreterem PHP-FPM. Zainstalujemy domyślny pakiet &lt;code&gt;php-fpm&lt;/code&gt;, który automatycznie zainstaluje PHP 8.5 na systemie Ubuntu 26.04 LTS (lub inną wersję, jeśli korzystasz z innej wersji systemu Ubuntu).&lt;/p&gt;
&lt;p&gt;Uruchom poniższe polecenia, aby zainicjować instalację:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Aktualizacja lokalnego indeksu pakietów w celu pobrania najnowszych wersji
sudo apt update

## Instalacja Nginx oraz domyślnego menedżera procesów PHP FastCGI
sudo apt install nginx php-fpm
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/KcpoV0VM8--400.avif 400w, https://voxihost.pl/assets/images/generated/KcpoV0VM8--800.avif 800w, https://voxihost.pl/assets/images/generated/KcpoV0VM8--1224.avif 1224w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/KcpoV0VM8--400.webp 400w, https://voxihost.pl/assets/images/generated/KcpoV0VM8--800.webp 800w, https://voxihost.pl/assets/images/generated/KcpoV0VM8--1224.webp 1224w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/KcpoV0VM8--400.jpeg&quot; alt=&quot;Terminal pokazujący polecenia apt update i apt install nginx php-fpm&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1224&quot; height=&quot;415&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/KcpoV0VM8--400.jpeg 400w, https://voxihost.pl/assets/images/generated/KcpoV0VM8--800.jpeg 800w, https://voxihost.pl/assets/images/generated/KcpoV0VM8--1224.jpeg 1224w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;p&gt;Po zakończeniu instalacji warto sprawdzić, która wersja PHP została zainstalowana jako domyślna w systemie. Określa to dokładną nazwę usługi oraz ścieżkę do gniazda, których użyjesz w kolejnych krokach:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Sprawdzenie zainstalowanej wersji PHP
php -v
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Przykładowo, jeśli dane wyjściowe wskazują na &lt;code&gt;PHP 8.5.x&lt;/code&gt;, nazwa Twojej usługi PHP-FPM to &lt;code&gt;php8.5-fpm&lt;/code&gt;, a plik gniazda to &lt;code&gt;php8.5-fpm.sock&lt;/code&gt; (w przypadku Ubuntu 24.04 LTS będzie to odpowiednio &lt;code&gt;PHP 8.3.x&lt;/code&gt; z usługą &lt;code&gt;php8.3-fpm&lt;/code&gt; i gniazdem &lt;code&gt;php8.3-fpm.sock&lt;/code&gt;). Zapamiętaj tę wersję - użyjesz jej w konfiguracji Nginx w kolejnym kroku.&lt;/p&gt;
&lt;h2 id=&quot;krok-2-konfiguracja-bloku-serwera-nginx&quot;&gt;Krok 2: Konfiguracja bloku serwera Nginx &lt;/h2&gt;
&lt;p&gt;Domyślnie Nginx nie jest skonfigurowany do przetwarzania plików PHP. Należy zmodyfikować domyślny blok serwera, aby przekazywał żądania dotyczące plików &lt;code&gt;.php&lt;/code&gt; do gniazda (socket) PHP-FPM. Otwórz plik konfiguracyjny za pomocą edytora tekstu:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Otwórz domyślny plik konfiguracyjny witryny do edycji
sudo nano /etc/nginx/sites-available/default
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Znajdź blok &lt;code&gt;location /&lt;/code&gt; i upewnij się, że dyrektywa &lt;code&gt;index&lt;/code&gt; zawiera &lt;code&gt;index.php&lt;/code&gt;. Następnie odkomentuj lub dodaj blok &lt;code&gt;location ~ &#92;.php$ { ... }&lt;/code&gt;, aby obsłużyć żądania PHP. Twoja konfiguracja powinna przypominać poniższą strukturę:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;
    index index.php index.html index.htm index.nginx-debian.html;

    server_name _;

    location / {
        try_files $uri $uri/ =404;
    }

    # Przekaż skrypty PHP do gniazda PHP-FPM
    location ~ &#92;.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.x-fpm.sock;
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Sprawdź dokładnie dyrektywę &lt;code&gt;fastcgi_pass&lt;/code&gt;. Ścieżka &lt;code&gt;/var/run/php/php8.x-fpm.sock&lt;/code&gt; (gdzie &lt;code&gt;8.x&lt;/code&gt; to Twoja wersja PHP, np. &lt;code&gt;8.5&lt;/code&gt; na Ubuntu 26.04 LTS lub &lt;code&gt;8.3&lt;/code&gt; na Ubuntu 24.04 LTS) musi być zgodna z rzeczywistym plikiem gniazda w Twoim systemie. W przypadku późniejszych błędów upewnij się, że numer wersji w ścieżce zgadza się z usługą &lt;code&gt;php8.x-fpm&lt;/code&gt;, którą zweryfikowano w poprzednim kroku. Zapisz zmiany, naciskając &lt;code&gt;Ctrl + O&lt;/code&gt;, a następnie &lt;code&gt;Enter&lt;/code&gt;, i wyjdź za pomocą &lt;code&gt;Ctrl + X&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/evSBzoBRtm-400.avif 400w, https://voxihost.pl/assets/images/generated/evSBzoBRtm-800.avif 800w, https://voxihost.pl/assets/images/generated/evSBzoBRtm-1515.avif 1515w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/evSBzoBRtm-400.webp 400w, https://voxihost.pl/assets/images/generated/evSBzoBRtm-800.webp 800w, https://voxihost.pl/assets/images/generated/evSBzoBRtm-1515.webp 1515w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/evSBzoBRtm-400.jpeg&quot; alt=&quot;Widok edytora tekstu z domyślną konfiguracją Nginx pokazujący poprawnie skonfigurowany blok lokalizacji PHP&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1515&quot; height=&quot;790&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/evSBzoBRtm-400.jpeg 400w, https://voxihost.pl/assets/images/generated/evSBzoBRtm-800.jpeg 800w, https://voxihost.pl/assets/images/generated/evSBzoBRtm-1515.jpeg 1515w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;h2 id=&quot;krok-3-utworzenie-skryptu-testowego-php-i-weryfikacja-dzialania&quot;&gt;Krok 3: Utworzenie skryptu testowego PHP i weryfikacja działania &lt;/h2&gt;
&lt;p&gt;Aby zweryfikować, czy Nginx poprawnie przekazuje żądania do procesora PHP-FPM, należy utworzyć prostą stronę informacyjną. Skrypt ten wykorzystuje funkcję &lt;code&gt;phpinfo()&lt;/code&gt;, która wyświetla bieżącą konfigurację PHP, załadowane moduły oraz zmienne środowiskowe.&lt;/p&gt;
&lt;p&gt;Przejdź do domyślnego katalogu głównego serwera WWW i utwórz nowy plik o nazwie &lt;code&gt;info.php&lt;/code&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Utwórz plik testowy w domyślnym katalogu głównym serwera WWW
sudo nano /var/www/html/info.php
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wklej do pliku następujący kod PHP:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;?php
phpinfo();
?&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Zapisz plik, naciskając &lt;code&gt;Ctrl + O&lt;/code&gt;, a następnie &lt;code&gt;Enter&lt;/code&gt;, i wyjdź za pomocą &lt;code&gt;Ctrl + X&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Przed przetestowaniem pliku w przeglądarce należy sprawdzić konfigurację Nginx, aby upewnić się, że w poprzednim kroku nie pojawiły się błędy składniowe. Następnie zastosuj zmiany, przeładowując usługę:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Sprawdź składnię konfiguracji
sudo nginx -t

## Zastosuj zmiany w usłudze Nginx
sudo systemctl reload nginx
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Jeśli test składni zakończy się pomyślnie, otwórz przeglądarkę internetową i przejdź pod adres &lt;code&gt;http://twoj_adres_ip_serwera/info.php&lt;/code&gt;. Powinna wyświetlić się strona ze szczegółowymi informacjami o instalacji PHP (w przypadku nowej instalacji na Ubuntu 26.04 LTS będzie to PHP 8.5). Jeśli zamiast wyrenderowanej strony widzisz surowy kod, sprawdź dokładnie, czy blok &lt;code&gt;location ~ &#92;.php$&lt;/code&gt; w konfiguracji Nginx zgadza się ze ścieżką do gniazda (socket). Po potwierdzeniu, że wszystko działa poprawnie, usuń plik testowy, aby uniemożliwić nieautoryzowanym użytkownikom wgląd w wrażliwe informacje o serwerze:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Usuń skrypt testowy w celu zachowania bezpieczeństwa
sudo rm /var/www/html/info.php
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/UwJaSnZLuK-400.avif 400w, https://voxihost.pl/assets/images/generated/UwJaSnZLuK-800.avif 800w, https://voxihost.pl/assets/images/generated/UwJaSnZLuK-1600.avif 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/UwJaSnZLuK-400.webp 400w, https://voxihost.pl/assets/images/generated/UwJaSnZLuK-800.webp 800w, https://voxihost.pl/assets/images/generated/UwJaSnZLuK-1600.webp 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/UwJaSnZLuK-400.jpeg&quot; alt=&quot;Strona PHP info wyświetlona w przeglądarce, potwierdzająca poprawną integrację PHP-FPM z serwerem Nginx&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1600&quot; height=&quot;921&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/UwJaSnZLuK-400.jpeg 400w, https://voxihost.pl/assets/images/generated/UwJaSnZLuK-800.jpeg 800w, https://voxihost.pl/assets/images/generated/UwJaSnZLuK-1600.jpeg 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;p&gt;Po potwierdzeniu integracji PHP za pomocą skryptu testowego należy przeprowadzić ostateczną kontrolę usług systemowych, aby upewnić się, że zarówno Nginx, jak i PHP-FPM działają bez błędów. Uruchom poniższe polecenia, aby zweryfikować status obu demonów:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Sprawdź status serwera WWW Nginx
sudo systemctl status nginx

## Sprawdź status usługi PHP-FPM (zastąp 8.x swoją wersją PHP)
sudo systemctl status php8.x-fpm
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Upewnij się, że obie usługi wyświetlają status &amp;quot;active (running)&amp;quot;. Jeśli usługa wyświetla status &amp;quot;failed&amp;quot; lub &amp;quot;inactive&amp;quot;, sprawdź logi systemowe za pomocą polecenia &lt;code&gt;journalctl -u nginx&lt;/code&gt; lub &lt;code&gt;journalctl -u php8.x-fpm&lt;/code&gt; (zastępując &lt;code&gt;8.x&lt;/code&gt; swoją wersją PHP). Ponadto zaleca się okresowe sprawdzanie logów błędów Nginx w &lt;code&gt;/var/log/nginx/error.log&lt;/code&gt; w celu szybkiego wykrywania problemów z uprawnieniami lub brakującymi modułami PHP.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/ilET4BEqkv-400.avif 400w, https://voxihost.pl/assets/images/generated/ilET4BEqkv-800.avif 800w, https://voxihost.pl/assets/images/generated/ilET4BEqkv-1515.avif 1515w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/ilET4BEqkv-400.webp 400w, https://voxihost.pl/assets/images/generated/ilET4BEqkv-800.webp 800w, https://voxihost.pl/assets/images/generated/ilET4BEqkv-1515.webp 1515w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/ilET4BEqkv-400.jpeg&quot; alt=&quot;Dane wyjściowe terminala pokazujące wynik php -v oraz aktywny status usług Nginx i PHP-FPM&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1515&quot; height=&quot;790&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/ilET4BEqkv-400.jpeg 400w, https://voxihost.pl/assets/images/generated/ilET4BEqkv-800.jpeg 800w, https://voxihost.pl/assets/images/generated/ilET4BEqkv-1515.jpeg 1515w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;h2 id=&quot;podsumowanie&quot;&gt;Podsumowanie &lt;/h2&gt;
&lt;p&gt;Dysponujesz teraz w pełni funkcjonalnym stosem LEMP działającym na serwerze Ubuntu. Dzięki połączeniu Nginx z PHP-FPM 8.5 stworzyłeś wysokowydajną podstawę, zdolną do obsługi dynamicznego ruchu internetowego przy minimalnym obciążeniu zasobów. Niezależnie od tego, czy wdrażasz własną aplikację, czy system zarządzania treścią, ta konfiguracja zapewnia niezbędną kontrolę nad środowiskiem serwerowym.&lt;/p&gt;
&lt;p&gt;Utrzymanie tego stosu to coś więcej niż tylko początkowa konfiguracja. W miarę rozwoju aplikacji może zajść potrzeba dostosowania procesów roboczych w konfiguracji Nginx lub dostrojenia ustawień puli PHP-FPM, aby lepiej odpowiadały przydzielonym zasobom. Jeśli kiedykolwiek zajdzie potrzeba przeprowadzenia aktualizacji systemu, pamiętaj, aby najpierw zatrzymać usługi w celu zapewnienia integralności danych:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;## Bezpieczne zatrzymanie usług przed aktualizacją systemu (zastąp 8.x swoją wersją PHP)
sudo systemctl stop nginx
sudo systemctl stop php8.x-fpm

## Aktualizacja pakietów systemowych
sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y

## Uruchomienie usług po aktualizacji (zastąp 8.x swoją wersją PHP)
sudo systemctl start nginx
sudo systemctl start php8.x-fpm
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Dla osób zarządzających krytycznymi obciążeniami, kolejnym logicznym krokiem jest monitorowanie. Obserwuj wykorzystanie zasobów systemowych za pośrednictwem panelu &lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt;, szczególnie jeśli skalujesz swoje środowiska &lt;a href=&quot;https://voxihost.pl/pl/vps/premium/&quot;&gt;Premium VPS&lt;/a&gt; lub &lt;a href=&quot;https://voxihost.pl/pl/vps/budget/&quot;&gt;Budget VPS&lt;/a&gt;. Regularne sprawdzanie logów oraz aktualizowanie pakietów zapewni, że Twój serwer WWW pozostanie szybki i bezpieczny przed nowymi zagrożeniami.&lt;/p&gt;
&lt;p&gt;Jeśli zdecydujesz się na dalszą rozbudowę infrastruktury, rozważ zapoznanie się z przewodnikiem &lt;a href=&quot;https://voxihost.pl/pl/guides/certyfikat-ssl-letsencrypt-ubuntu/&quot;&gt;Jak skonfigurować certyfikat SSL z Let&#39;s Encrypt i Certbot na Ubuntu i Debianie: Kompletny poradnik&lt;/a&gt;, aby szyfrować ruch i poprawić pozycjonowanie w wyszukiwarkach.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Jak zainstalować Portainer CE na Ubuntu i Debian</title>
    <link href="https://voxihost.pl/pl/guides/instalacja-portainer-ubuntu-debian/" rel="alternate"/>
    <published>2026-07-14T00:00:00Z</published>
    <updated>2026-07-14T00:00:00Z</updated>
    <id>https://voxihost.pl/pl/guides/instalacja-portainer-ubuntu-debian/</id>
    <summary type="text">Zainstaluj Portainer CE na VPS z Ubuntu lub Debian i zarządzaj kontenerami Docker z poziomu przeglądarki bez użycia terminala.</summary>
    <category term="Poradniki"/>
    <content xml:lang="pl" type="html">&lt;h2 id=&quot;wstep&quot;&gt;Wstęp &lt;/h2&gt;
&lt;p&gt;Docker to wspaniałe narzędzie, ale wpisywanie komend w czarnej konsoli może być przytłaczające dla początkujących. Z pomocą przychodzi &lt;strong&gt;Portainer&lt;/strong&gt; - panel z graficznym interfejsem (GUI), który pozwala zarządzać wszystkim z poziomu przeglądarki internetowej.&lt;/p&gt;
&lt;p&gt;W tym poradniku pokażemy Ci, krok po kroku, jak zainstalować Portainera na Twoim serwerze w zaledwie kilka minut. Nie musisz być ekspertem od Linuxa - wystarczy, że będziesz kopiować i wklejać poniższe komendy!&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Wymagania wstępne:&lt;/strong&gt; Będziesz potrzebować serwera &lt;a href=&quot;https://voxihost.pl/pl/vps/premium/&quot;&gt;Premium VPS&lt;/a&gt; z systemem Ubuntu lub Debian oraz klienta SSH (np. PuTTY lub systemowy Terminal). Jeśli jeszcze nie masz serwera, &lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt; oferuje &lt;a href=&quot;https://voxihost.pl/pl/vps/premium/&quot;&gt;Premium VPS&lt;/a&gt; i &lt;a href=&quot;https://voxihost.pl/pl/vps/budget/&quot;&gt;Budget VPS&lt;/a&gt; z preinstalowanym Ubuntu i Debianem.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;krok-1-polaczenie-z-serwerem-i-instalacja-dockera&quot;&gt;Krok 1: Połączenie z serwerem i instalacja Dockera &lt;/h2&gt;
&lt;p&gt;Najpierw połącz się ze swoim serwerem przez SSH. Następnie upewnijmy się, że na serwerze zainstalowany jest Docker. Jeśli jeszcze go nie masz, wystarczy wkleić poniższą komendę, która zrobi wszystko za Ciebie:&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/Nq4Q8MoRa_-400.avif 400w, https://voxihost.pl/assets/images/generated/Nq4Q8MoRa_-756.avif 756w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/Nq4Q8MoRa_-400.webp 400w, https://voxihost.pl/assets/images/generated/Nq4Q8MoRa_-756.webp 756w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/Nq4Q8MoRa_-400.jpeg&quot; alt=&quot;Terminal podczas instalacji środowiska Docker na Ubuntu&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;756&quot; height=&quot;214&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/Nq4Q8MoRa_-400.jpeg 400w, https://voxihost.pl/assets/images/generated/Nq4Q8MoRa_-756.jpeg 756w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;curl -fsSL https://get.docker.com -o get-docker.sh &amp;amp;&amp;amp; sudo sh get-docker.sh
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Zaczekaj chwilę, aż instalacja się zakończy.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;krok-2-przygotowanie-miejsca-dla-portainera&quot;&gt;Krok 2: Przygotowanie miejsca dla Portainera &lt;/h2&gt;
&lt;p&gt;Portainer potrzebuje bezpiecznego miejsca na dysku, aby zapisywać Twoje hasła i konfiguracje. Wklej poniższą komendę w konsoli i wciśnij ENTER, aby utworzyć tzw. &amp;quot;wolumen&amp;quot;:&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/o-wZ2QW8fG-400.avif 400w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/o-wZ2QW8fG-400.webp 400w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/o-wZ2QW8fG-400.jpeg&quot; alt=&quot;Tworzenie wolumenu Docker dla Portainera w terminalu&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;400&quot; height=&quot;48&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;docker volume create portainer_data
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;krok-3-uruchomienie-portainera&quot;&gt;Krok 3: Uruchomienie Portainera &lt;/h2&gt;
&lt;p&gt;Teraz uruchomimy samego Portainera. Poniższa komenda pobierze najnowszą wersję programu i uruchomi ją w tle. Wklej ją w całości do konsoli i wciśnij ENTER:&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/WRaZlp0Iwh-400.avif 400w, https://voxihost.pl/assets/images/generated/WRaZlp0Iwh-800.avif 800w, https://voxihost.pl/assets/images/generated/WRaZlp0Iwh-1532.avif 1532w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/WRaZlp0Iwh-400.webp 400w, https://voxihost.pl/assets/images/generated/WRaZlp0Iwh-800.webp 800w, https://voxihost.pl/assets/images/generated/WRaZlp0Iwh-1532.webp 1532w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/WRaZlp0Iwh-400.jpeg&quot; alt=&quot;Uruchamianie kontenera Portainer CE z wymaganymi portami i wolumenem&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1532&quot; height=&quot;249&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/WRaZlp0Iwh-400.jpeg 400w, https://voxihost.pl/assets/images/generated/WRaZlp0Iwh-800.jpeg 800w, https://voxihost.pl/assets/images/generated/WRaZlp0Iwh-1532.jpeg 1532w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I to tyle! Instalacja po stronie serwera jest zakończona.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;krok-4-pierwsze-logowanie-w-przegladarce&quot;&gt;Krok 4: Pierwsze logowanie w przeglądarce &lt;/h2&gt;
&lt;p&gt;Możesz już zamknąć konsolę. Teraz otwórz swoją ulubioną przeglądarkę internetową (np. Chrome, Firefox) i wpisz w pasku adresu:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;https://ADRES_IP_TWOJEGO_SERWERA:9443&lt;/code&gt;&lt;br /&gt;
&lt;em&gt;(Zastąp &amp;quot;ADRES_IP_TWOJEGO_SERWERA&amp;quot; rzeczywistym adresem IP swojego VPS, np. &lt;a href=&quot;https://192.168.1.50:9443/&quot;&gt;https://192.168.1.50:9443&lt;/a&gt;)&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Wskazówka:&lt;/strong&gt; Jeśli po wejściu na stronę widzisz błąd &lt;code&gt;Client sent an HTTP request to an HTTPS server.&lt;/code&gt;, oznacza to, że Twoja przeglądarka spróbowała połączyć się przez zwykłe HTTP. Upewnij się, że adres na samym początku ma wpisane ręcznie &lt;strong&gt;https://&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Ważne:&lt;/strong&gt; Przeglądarka może wyświetlić ostrzeżenie o &amp;quot;Niezaufanym certyfikacie&amp;quot; (ang. &lt;em&gt;Your connection is not private&lt;/em&gt;). To całkowicie normalne, ponieważ serwer używa domyślnego certyfikatu własnego podpisu. Kliknij &lt;strong&gt;&amp;quot;Zaawansowane&amp;quot;&lt;/strong&gt;, a następnie &lt;strong&gt;&amp;quot;Kontynuuj / Przejdź na stronę&amp;quot;&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Na ekranie zobaczysz kreator początkowy. Wymyśl dla siebie bezpieczne hasło, wpisz je dwukrotnie i kliknij przycisk tworzenia użytkownika (Create user).&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Ważne (Limit 5 minut!):&lt;/strong&gt; Portainer dba o bezpieczeństwo. Jeśli od momentu uruchomienia (Krok 3) do ustalenia hasła minie ponad 5 minut, instalacja zostanie zablokowana (komunikat &lt;em&gt;Your Portainer instance timed out&lt;/em&gt;). Aby ją odblokować, wpisz w konsoli &lt;code&gt;docker restart portainer&lt;/code&gt; i odśwież stronę. Zostaniesz wtedy poproszony o &lt;strong&gt;Setup Token&lt;/strong&gt;. Aby go uzyskać, wpisz w konsoli &lt;code&gt;docker logs portainer&lt;/code&gt;. W logach znajdziesz napis &lt;em&gt;Use the following token to setup the administrator user:&lt;/em&gt; a pod nim swój token. Skopiuj go i wklej na stronie.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/Wd-oCwTtnY-400.avif 400w, https://voxihost.pl/assets/images/generated/Wd-oCwTtnY-800.avif 800w, https://voxihost.pl/assets/images/generated/Wd-oCwTtnY-1027.avif 1027w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/Wd-oCwTtnY-400.webp 400w, https://voxihost.pl/assets/images/generated/Wd-oCwTtnY-800.webp 800w, https://voxihost.pl/assets/images/generated/Wd-oCwTtnY-1027.webp 1027w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/Wd-oCwTtnY-400.jpeg&quot; alt=&quot;Ekran tworzenia konta administratora w Portainer w przeglądarce&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1027&quot; height=&quot;805&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/Wd-oCwTtnY-400.jpeg 400w, https://voxihost.pl/assets/images/generated/Wd-oCwTtnY-800.jpeg 800w, https://voxihost.pl/assets/images/generated/Wd-oCwTtnY-1027.jpeg 1027w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;krok-5-zarzadzanie-kontenerami&quot;&gt;Krok 5: Zarządzanie kontenerami &lt;/h2&gt;
&lt;p&gt;Po zalogowaniu kliknij przycisk &lt;strong&gt;&amp;quot;Get Started&amp;quot;&lt;/strong&gt;, a na kolejnym ekranie wybierz środowisko z ikonką wieloryba podpisane jako &lt;strong&gt;&amp;quot;Local&amp;quot;&lt;/strong&gt; (czyli serwer, na którym właśnie jesteśmy).&lt;/p&gt;
&lt;p&gt;Gotowe! Teraz widzisz pełny panel kontrolny. Od teraz nie musisz używać komend w czarnej konsoli - możesz zarządzać swoimi aplikacjami klikając myszką.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/bjJt6WmRvi-400.avif 400w, https://voxihost.pl/assets/images/generated/bjJt6WmRvi-800.avif 800w, https://voxihost.pl/assets/images/generated/bjJt6WmRvi-1600.avif 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/bjJt6WmRvi-400.webp 400w, https://voxihost.pl/assets/images/generated/bjJt6WmRvi-800.webp 800w, https://voxihost.pl/assets/images/generated/bjJt6WmRvi-1600.webp 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/bjJt6WmRvi-400.jpeg&quot; alt=&quot;Panel główny Portainer pokazujący listę aktywnych kontenerów Docker&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1600&quot; height=&quot;803&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/bjJt6WmRvi-400.jpeg 400w, https://voxihost.pl/assets/images/generated/bjJt6WmRvi-800.jpeg 800w, https://voxihost.pl/assets/images/generated/bjJt6WmRvi-1600.jpeg 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;podsumowanie&quot;&gt;Podsumowanie &lt;/h2&gt;
&lt;p&gt;Portainer to niesamowite narzędzie, które sprawia, że technologia Docker jest dostępna nawet dla osób bez dużego doświadczenia z Linuxem. Jeśli szukasz serwera do własnych projektów lub nauki, &lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt; ma w ofercie &lt;a href=&quot;https://voxihost.pl/pl/vps/premium/&quot;&gt;Premium VPS&lt;/a&gt; oraz &lt;a href=&quot;https://voxihost.pl/pl/vps/budget/&quot;&gt;Budget VPS&lt;/a&gt; z systemem Ubuntu i Debian gotowym do działania.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Jak zainstalować FileBrowser na VPS z Dockerem</title>
    <link href="https://voxihost.pl/pl/guides/prywatny-dysk-filebrowser-docker/" rel="alternate"/>
    <published>2026-07-13T00:00:00Z</published>
    <updated>2026-07-13T00:00:00Z</updated>
    <id>https://voxihost.pl/pl/guides/prywatny-dysk-filebrowser-docker/</id>
    <summary type="text">Dowiedz się, jak w 5 minut zainstalować FileBrowser za pomocą Dockera i zamienić swój serwer VPS w prywatny dysk w chmurze z dostępem przez przeglądarkę.</summary>
    <category term="Poradniki"/>
    <content xml:lang="pl" type="html">&lt;h2 id=&quot;wstep&quot;&gt;Wstęp &lt;/h2&gt;
&lt;p&gt;Posiadanie serwera VPS to świetna sprawa, ale przesyłanie na niego plików przez terminal (SFTP) bywa uciążliwe. Co powiesz na to, by zamienić Twój tani serwer w wygodny dysk w chmurze (jak Dysk Google czy Dropbox), obsługiwany w 100% z poziomu przeglądarki?&lt;/p&gt;
&lt;p&gt;Pomoże w tym &lt;strong&gt;FileBrowser&lt;/strong&gt; - niesamowicie lekki menedżer plików. Działa błyskawicznie, nie wymaga domeny (możesz wejść po prostu przez adres IP) i jest tak mało zasobożerny, że idealnie sprawdzi się na każdym, nawet najtańszym &lt;a href=&quot;https://voxihost.pl/pl/vps/budget/&quot;&gt;Budget VPS&lt;/a&gt; z naszej oferty!&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;krok-1-szybkie-uruchomienie-przez-dockera&quot;&gt;Krok 1: Szybkie uruchomienie przez Dockera &lt;/h2&gt;
&lt;p&gt;Zaloguj się na swój serwer przez terminal. Uruchomienie FileBrowsera sprowadza się do jednej, prostej komendy. Wklej poniższy kod i wciśnij ENTER:&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/W4qKRh07Xt-400.avif 400w, https://voxihost.pl/assets/images/generated/W4qKRh07Xt-800.avif 800w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/W4qKRh07Xt-400.webp 400w, https://voxihost.pl/assets/images/generated/W4qKRh07Xt-800.webp 800w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/W4qKRh07Xt-400.jpeg&quot; alt=&quot;Terminal podczas uruchamiania kontenera FileBrowser&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;800&quot; height=&quot;257&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/W4qKRh07Xt-400.jpeg 400w, https://voxihost.pl/assets/images/generated/W4qKRh07Xt-800.jpeg 800w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;docker run -d --name filebrowser -v /:/srv -p 8080:80 --restart always filebrowser/filebrowser
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Co dokładnie robi ta komenda?&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-p 8080:80&lt;/code&gt; otwiera panel na porcie 8080.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-v /:/srv&lt;/code&gt; daje aplikacji dostęp do głównego dysku Twojego serwera, dzięki czemu możesz przeglądać i edytować absolutnie każdy plik systemowy przez przeglądarkę!&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;krok-2-pierwsze-logowanie-do-dysku&quot;&gt;Krok 2: Pierwsze logowanie do dysku &lt;/h2&gt;
&lt;p&gt;Instalacja na serwerze to już wszystko! Teraz otwórz przeglądarkę internetową i wpisz adres IP swojego serwera wraz z portem 8080:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;http://ADRES_IP_SERWERA:8080&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Zobaczysz schludny, minimalistyczny ekran logowania.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/KXs97Oh5RE-400.avif 400w, https://voxihost.pl/assets/images/generated/KXs97Oh5RE-800.avif 800w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/KXs97Oh5RE-400.webp 400w, https://voxihost.pl/assets/images/generated/KXs97Oh5RE-800.webp 800w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/KXs97Oh5RE-400.jpeg&quot; alt=&quot;Ekran logowania do panelu FileBrowser&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;800&quot; height=&quot;715&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/KXs97Oh5RE-400.jpeg 400w, https://voxihost.pl/assets/images/generated/KXs97Oh5RE-800.jpeg 800w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;p&gt;Aby się zalogować, jako login wpisz &lt;strong&gt;&lt;code&gt;admin&lt;/code&gt;&lt;/strong&gt;. W najnowszych wersjach FileBrowsera zrezygnowano ze stałego domyślnego hasła ze względów bezpieczeństwa.&lt;br /&gt;
Twoje &lt;strong&gt;jednorazowe hasło startowe&lt;/strong&gt; zostało wygenerowane automatycznie. Aby je poznać, wróć do konsoli i wpisz:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;docker logs filebrowser
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;W logach znajdziesz linijkę z nowym, wygenerowanym hasłem. Skopiuj je i użyj do pierwszego logowania.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;krok-3-zmiana-domyslnego-hasla-wazne&quot;&gt;Krok 3: Zmiana domyślnego hasła (Ważne!) &lt;/h2&gt;
&lt;p&gt;Zaraz po zalogowaniu musisz zadbać o swoje bezpieczeństwo, aby nikt obcy nie wszedł na Twój dysk. Kliknij w zakładkę &lt;strong&gt;Settings&lt;/strong&gt; (Ustawienia) w panelu po lewej stronie, a następnie przejdź do sekcji &lt;strong&gt;Profile Settings&lt;/strong&gt; (Ustawienia profilu).&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/xVyGxZ7cJl-400.avif 400w, https://voxihost.pl/assets/images/generated/xVyGxZ7cJl-800.avif 800w, https://voxihost.pl/assets/images/generated/xVyGxZ7cJl-1600.avif 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/xVyGxZ7cJl-400.webp 400w, https://voxihost.pl/assets/images/generated/xVyGxZ7cJl-800.webp 800w, https://voxihost.pl/assets/images/generated/xVyGxZ7cJl-1600.webp 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/xVyGxZ7cJl-400.jpeg&quot; alt=&quot;Zakładka zmiany hasła w ustawieniach profilu&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1600&quot; height=&quot;527&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/xVyGxZ7cJl-400.jpeg 400w, https://voxihost.pl/assets/images/generated/xVyGxZ7cJl-800.jpeg 800w, https://voxihost.pl/assets/images/generated/xVyGxZ7cJl-1600.jpeg 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;p&gt;Wpisz nowe, trudne do odgadnięcia hasło, zatwierdź je i kliknij przycisk &amp;quot;Update&amp;quot;. Od teraz Twój prywatny dysk jest w pełni bezpieczny.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;krok-4-wgrywanie-i-udostepnianie-plikow&quot;&gt;Krok 4: Wgrywanie i udostępnianie plików &lt;/h2&gt;
&lt;p&gt;Teraz możesz robić ze swoim dyskiem co tylko zechcesz. W prawym górnym rogu znajdziesz przyciski do tworzenia nowych folderów, wgrywania plików (Upload), a nawet tworzenia pustych plików tekstowych, które możesz edytować bezpośrednio w przeglądarce!&lt;/p&gt;
&lt;p&gt;Zaznaczając dowolny plik, możesz kliknąć ikonkę udostępniania (Share), aby wygenerować specjalny link. Możesz wysłać ten link znajomemu, aby pobrał plik z Twojego serwera bez konieczności logowania.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/D1zSFfAFt7-400.avif 400w, https://voxihost.pl/assets/images/generated/D1zSFfAFt7-800.avif 800w, https://voxihost.pl/assets/images/generated/D1zSFfAFt7-1600.avif 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/D1zSFfAFt7-400.webp 400w, https://voxihost.pl/assets/images/generated/D1zSFfAFt7-800.webp 800w, https://voxihost.pl/assets/images/generated/D1zSFfAFt7-1600.webp 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/D1zSFfAFt7-400.jpeg&quot; alt=&quot;Interfejs FileBrowser podczas udostępniania pliku&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1600&quot; height=&quot;462&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/D1zSFfAFt7-400.jpeg 400w, https://voxihost.pl/assets/images/generated/D1zSFfAFt7-800.jpeg 800w, https://voxihost.pl/assets/images/generated/D1zSFfAFt7-1600.jpeg 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;podsumowanie&quot;&gt;Podsumowanie &lt;/h2&gt;
&lt;p&gt;FileBrowser to &amp;quot;must-have&amp;quot; na każdym prywatnym serwerze. Zużywa ułamek procenta pamięci RAM, a daje ogromną wygodę przy zarządzaniu plikami w Linuxie. Wykorzystaj to rozwiązanie na swoim nowym serwerze z serii &lt;a href=&quot;https://voxihost.pl/pl/vps/premium/&quot;&gt;Premium VPS&lt;/a&gt; i zapomnij o konieczności używania programów FTP!&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Jak zainstalować Uptime Kuma w Dockerze: Własny monitoring</title>
    <link href="https://voxihost.pl/pl/guides/jak-zainstalowac-uptime-kuma-docker/" rel="alternate"/>
    <published>2026-07-07T00:00:00Z</published>
    <updated>2026-07-07T00:00:00Z</updated>
    <id>https://voxihost.pl/pl/guides/jak-zainstalowac-uptime-kuma-docker/</id>
    <summary type="text">Zbuduj własny system monitorowania serwerów i stron internetowych za pomocą darmowego narzędzia Uptime Kuma. Otrzymuj powiadomienia o awariach na Discordzie.</summary>
    <category term="Poradniki"/>
    <content xml:lang="pl" type="html">&lt;h2 id=&quot;wprowadzenie&quot;&gt;Wprowadzenie &lt;/h2&gt;
&lt;p&gt;Czy kiedykolwiek obudziłeś się rano, tylko po to, by odkryć, że Twój serwer Minecraft lub strona internetowa nie działa od kilku godzin? Zamiast polegać na płatnych rozwiązaniach typu Uptime Robot, możesz hostować własny, piękny i w 100% darmowy system monitorowania.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Uptime Kuma&lt;/strong&gt; to potężne narzędzie o otwartym kodzie źródłowym, które potrafi monitorować strony WWW, serwery gier, porty TCP i usługi DNS. W tym szybkim poradniku pokażemy, jak w 15 minut zainstalować je na własnym serwerze za pomocą Dockera!&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Wskazówka:&lt;/strong&gt; Uptime Kuma nie zajmuje wiele zasobów. Do tego zadania spokojnie wystarczy najtańszy plan z naszej oferty &lt;a href=&quot;https://voxihost.pl/pl/vps/budget/&quot;&gt;Budget VPS&lt;/a&gt; (np. oparty na Ubuntu 22.04).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;krok-1-przygotowanie-docker-compose&quot;&gt;Krok 1: Przygotowanie Docker Compose &lt;/h2&gt;
&lt;p&gt;Cała aplikacja Uptime Kuma mieści się w jednym kontenerze Dockera. Jeżeli nie posiadasz jeszcze Dockera, zainstaluj go korzystając ze skryptu instalacyjnego:&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/9CX4sytE9F-400.avif 400w, https://voxihost.pl/assets/images/generated/9CX4sytE9F-694.avif 694w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/9CX4sytE9F-400.webp 400w, https://voxihost.pl/assets/images/generated/9CX4sytE9F-694.webp 694w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/9CX4sytE9F-400.jpeg&quot; alt=&quot;Terminal podczas instalacji środowiska Docker&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;694&quot; height=&quot;298&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/9CX4sytE9F-400.jpeg 400w, https://voxihost.pl/assets/images/generated/9CX4sytE9F-694.jpeg 694w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo systemctl enable --now docker
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Zalecamy używanie wtyczki Docker Compose (w najnowszych wersjach jest już wbudowana, ale możemy się upewnić):&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo apt-get install docker-compose-plugin
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Sprawdź wersję, aby upewnić się, że wszystko działa:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;docker compose version
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;krok-2-konfiguracja-i-uruchomienie-uptime-kuma&quot;&gt;Krok 2: Konfiguracja i uruchomienie Uptime Kuma &lt;/h2&gt;
&lt;p&gt;Teraz utworzymy dedykowany folder dla naszej aplikacji i skonfigurujemy w nim plik YAML z ustawieniami kontenera.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/iVIYeu8Ybe-342.avif 342w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/iVIYeu8Ybe-342.webp 342w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/iVIYeu8Ybe-342.jpeg&quot; alt=&quot;Tworzenie pliku docker-compose.yml dla Uptime Kuma&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;342&quot; height=&quot;56&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;mkdir -p ~/uptime-kuma
cd ~/uptime-kuma
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Utwórz plik &lt;code&gt;docker-compose.yml&lt;/code&gt; przy pomocy ulubionego edytora tekstowego, na przykład &lt;code&gt;nano&lt;/code&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;nano docker-compose.yml
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wklej do niego poniższą zawartość:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;services:
  uptime-kuma:
    image: louislam/uptime-kuma:1
    container_name: uptime-kuma
    volumes:
      - ./uptime-kuma-data:/app/data
    ports:
      - &amp;quot;3001:3001&amp;quot;  # Możesz zmienić lewą wartość na inny port, jeśli 3001 jest zajęty
    restart: always
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Zapisz plik (&lt;code&gt;Ctrl+O&lt;/code&gt;, &lt;code&gt;Enter&lt;/code&gt;) i wyjdź z edytora (&lt;code&gt;Ctrl+X&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;Następnie uruchom aplikację w tle korzystając z polecenia:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo docker compose up -d
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;To wszystko! Aplikacja pobierze obraz i uruchomi się. Możesz to zweryfikować wpisując &lt;code&gt;sudo docker ps&lt;/code&gt;.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;krok-3-pierwsze-logowanie-i-dodanie-monitoringu&quot;&gt;Krok 3: Pierwsze logowanie i dodanie monitoringu &lt;/h2&gt;
&lt;p&gt;Aby zalogować się do panelu, otwórz w przeglądarce adres IP swojego serwera, dopisując port &lt;code&gt;3001&lt;/code&gt;, np.:&lt;br /&gt;
&lt;code&gt;http://TWÓJ_ADRES_IP:3001&lt;/code&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Zabezpieczenia:&lt;/strong&gt; Pamiętaj, że o ile Uptime Kuma wymusza stworzenie hasła, to łączenie się po HTTP nie jest najbezpieczniejsze. Koniecznie zapoznaj się z naszym poradnikiem &lt;a href=&quot;https://voxihost.pl/pl/guides/konfiguracja-nginx-proxy-manager-vps/&quot;&gt;Jak skonfigurować Nginx Proxy Manager&lt;/a&gt;, by podpiąć swoją domenę pod Uptime Kumę i wygenerować darmowy certyfikat SSL!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Po wejściu na stronę utworzysz swoje konto administratora (nazwa użytkownika i hasło).&lt;/p&gt;
&lt;p&gt;Następnie w lewym górnym rogu kliknij &lt;strong&gt;&amp;quot;Add New Monitor&amp;quot;&lt;/strong&gt;.&lt;br /&gt;
Masz tu do wyboru mnóstwo opcji, np.:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;HTTP(s)&lt;/strong&gt;: do sprawdzania, czy strona (np. Twój blog) działa.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TCP Port&lt;/strong&gt;: do sprawdzania, czy proces SSH (port 22) lub aplikacja sieciowa działa.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Steam Game Server&lt;/strong&gt;: idealne do serwerów gier (np. FiveM, Rust).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Minecraft&lt;/strong&gt;: wbudowana funkcja odpytująca bezpośrednio serwery MC (podajesz adres IP i port gier).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/-0FiiAPDzK-400.avif 400w, https://voxihost.pl/assets/images/generated/-0FiiAPDzK-800.avif 800w, https://voxihost.pl/assets/images/generated/-0FiiAPDzK-1600.avif 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/-0FiiAPDzK-400.webp 400w, https://voxihost.pl/assets/images/generated/-0FiiAPDzK-800.webp 800w, https://voxihost.pl/assets/images/generated/-0FiiAPDzK-1600.webp 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/-0FiiAPDzK-400.jpeg&quot; alt=&quot;Ekran dodawania nowego monitoringu dla serwera Minecraft&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1600&quot; height=&quot;837&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/-0FiiAPDzK-400.jpeg 400w, https://voxihost.pl/assets/images/generated/-0FiiAPDzK-800.jpeg 800w, https://voxihost.pl/assets/images/generated/-0FiiAPDzK-1600.jpeg 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;p&gt;Uzupełnij formularz i kliknij &amp;quot;Save&amp;quot;. Twój pierwszy monitoring został uruchomiony!&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;krok-4-skonfigurowanie-powiadomien&quot;&gt;Krok 4: Skonfigurowanie powiadomień &lt;/h2&gt;
&lt;p&gt;Monitoring jest bezużyteczny, jeśli nikt nie wie o awarii. Uptime Kuma obsługuje ponad 90(!) usług powiadomień, w tym Telegram, Discord, Slack, Email (SMTP), a nawet Microsoft Teams.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/9d1prpuymi-400.avif 400w, https://voxihost.pl/assets/images/generated/9d1prpuymi-696.avif 696w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/9d1prpuymi-400.webp 400w, https://voxihost.pl/assets/images/generated/9d1prpuymi-696.webp 696w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/9d1prpuymi-400.jpeg&quot; alt=&quot;Konfiguracja powiadomień Webhook z Discorda w Uptime Kuma&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;696&quot; height=&quot;873&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/9d1prpuymi-400.jpeg 400w, https://voxihost.pl/assets/images/generated/9d1prpuymi-696.jpeg 696w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;p&gt;Pokażemy, jak skonfigurować proste powiadomienia na &lt;strong&gt;Discordzie&lt;/strong&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Na serwerze Discord wejdź w Ustawienia kanału tekstowego -&amp;gt; &lt;strong&gt;Integracje&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Utwórz Webhooka&lt;/strong&gt;. Skopiuj jego URL.&lt;/li&gt;
&lt;li&gt;W Uptime Kuma przejdź do górnego menu i wejdź w &lt;strong&gt;Settings -&amp;gt; Notifications&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Kliknij &amp;quot;Setup Notification&amp;quot;.&lt;/li&gt;
&lt;li&gt;Wybierz typ: &lt;strong&gt;Discord&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Wklej skopiowany &lt;em&gt;Webhook URL&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Kliknij &lt;em&gt;Test&lt;/em&gt;, aby sprawdzić czy bot wysłał próbną wiadomość na Twoim kanale. Jeśli tak, zapisz klikając &lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Teraz przy tworzeniu lub edycji jakiegokolwiek monitora (Krok 3) po prawej stronie upewnij się, że zaznaczyłeś swój nowo utworzony kanał powiadomień!&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;podsumowanie&quot;&gt;Podsumowanie &lt;/h2&gt;
&lt;p&gt;Uruchomienie własnego systemu monitorowania to zaledwie kilkanaście minut pracy. Dzięki Uptime Kumie zachowujesz pełną prywatność logów i nie ponosisz opłat abonamentowych za usługi premium (jak krótkie, 1-minutowe interwały sprawdzania, które w rozwiązaniach SaaS bywają bardzo drogie).&lt;/p&gt;
&lt;p&gt;Uptime Kuma zainstalowana na stabilnym serwerze &lt;a href=&quot;https://voxihost.pl/pl/vps/budget/&quot;&gt;Budget VPS&lt;/a&gt; od &lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt; to gwarancja, że będziesz wiedział o awarii swoich głównych projektów zanim zauważą ją Twoi klienci lub gracze!&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Panel zarządzania VoxiShield Smart Firewall już dostępny</title>
    <link href="https://voxihost.pl/pl/blog/wprowadzenie-voxishield-smart-firewall/" rel="alternate"/>
    <published>2026-07-06T00:00:00Z</published>
    <updated>2026-07-06T00:00:00Z</updated>
    <id>https://voxihost.pl/pl/blog/wprowadzenie-voxishield-smart-firewall/</id>
    <summary type="text">Zarządzaj bezpieczeństwem VPS dzięki VoxiShield! Konfiguruj reguły wejściowe, limity PPS, filtry egress i blokady GeoIP bezpośrednio z panelu klienta.</summary>
    <category term="Nowości"/>
    <content xml:lang="pl" type="html">&lt;p&gt;W &lt;strong&gt;&lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt;&lt;/strong&gt; uważamy, że bezpieczeństwo to nie luksusowa usługa premium, lecz absolutny standard. Dzisiaj z ogromną radością ogłaszamy oficjalne wdrożenie panelu zarządzania &lt;strong&gt;VoxiShield DDoS Protection &amp;amp; Smart Firewall&lt;/strong&gt;, który daje Ci pełną kontrolę nad ruchem sieciowym Twojego serwera bezpośrednio z poziomu dashboardu VoxiHost.&lt;/p&gt;
&lt;p&gt;Dzięki infrastrukturze filtrującej o przepustowości ponad 4+ Tbit/s, VoxiShield skutecznie neutralizuje nawet najbardziej intensywne ataki sieciowe, dbając o ciągłe działanie Twoich aplikacji, stron WWW i serwerów gier. Co najważniejsze: cały system otrzymujesz &lt;strong&gt;całkowicie za darmo&lt;/strong&gt; w pakiecie z każdą naszą usługą.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/4LvCVaFW-J-400.avif 400w, https://voxihost.pl/assets/images/generated/4LvCVaFW-J-800.avif 800w, https://voxihost.pl/assets/images/generated/4LvCVaFW-J-1600.avif 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/4LvCVaFW-J-400.webp 400w, https://voxihost.pl/assets/images/generated/4LvCVaFW-J-800.webp 800w, https://voxihost.pl/assets/images/generated/4LvCVaFW-J-1600.webp 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/4LvCVaFW-J-400.jpeg&quot; alt=&quot;Podgląd panelu zarządzania VoxiShield Firewall w dashboardzie VoxiHost&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1600&quot; height=&quot;750&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/4LvCVaFW-J-400.jpeg 400w, https://voxihost.pl/assets/images/generated/4LvCVaFW-J-800.jpeg 800w, https://voxihost.pl/assets/images/generated/4LvCVaFW-J-1600.jpeg 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;dwuwarstwowy-system-filtrowania-ruchu-mitigation-pipeline&quot;&gt;Dwuwarstwowy system filtrowania ruchu (Mitigation Pipeline) &lt;/h2&gt;
&lt;p&gt;Tradycyjne oprogramowanie zapory sieciowej (firewalla) działa bezpośrednio w systemie operacyjnym Twojego serwera, co podczas ataku zużywa cenne zasoby procesora i pamięci RAM. VoxiShield działa zupełnie inaczej, filtrując złośliwy ruch poza Twoim VPS, zanim pakiety w ogóle dotrą do Twojej wirtualnej maszyny.&lt;/p&gt;
&lt;h3 id=&quot;layer-01-pletx-edge-automatyczne-filtrowanie-wolumetryczne&quot;&gt;Layer 01: PletX Edge (Automatyczne filtrowanie wolumetryczne) &lt;/h3&gt;
&lt;p&gt;Cały ruch przychodzący trafia najpierw do &lt;strong&gt;globalnych węzłów filtrujących PletX Edge&lt;/strong&gt;. Ta warstwa działa w 100% automatycznie i bezobsługowo. Neutralizuje ataki wolumetryczne (np. DNS/NTP amplification lub zalewy UDP) o sile do 4+ Tbit/s, gwarantując, że łącze Twojego serwera nie zostanie przeciążone.&lt;/p&gt;
&lt;h3 id=&quot;layer-02-core-firewall-zarzadzanie-z-poziomu-dashboardu&quot;&gt;Layer 02: Core Firewall (Zarządzanie z poziomu dashboardu) &lt;/h3&gt;
&lt;p&gt;Oczyszczony z ataków wolumetrycznych ruch trafia do naszego przezroczystego &lt;strong&gt;Core Firewalla&lt;/strong&gt;. To tutaj masz pełną kontrolę. Z poziomu dashboardu &lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt; możesz błyskawicznie tworzyć reguły dostępu, zarządzać portami i ograniczać podejrzany ruch z czasem propagacji poniżej jednej sekundy.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;zaawansowany-firewall-pod-twoja-kontrola&quot;&gt;Zaawansowany firewall pod Twoją kontrolą &lt;/h2&gt;
&lt;p&gt;Zaprojektowaliśmy VoxiShield tak, aby skomplikowane reguły &lt;code&gt;iptables&lt;/code&gt; i &lt;code&gt;nftables&lt;/code&gt; zastąpić intuicyjnym, graficznym panelem w dashboardzie. Nie musisz być administratorem sieci, aby profesjonalnie zabezpieczyć swój serwer.&lt;/p&gt;
&lt;h3 id=&quot;1-reguly-wejsciowe-i-limity-pps-inbound-rules-and-rate-limiting&quot;&gt;1. Reguły wejściowe i limity PPS (Inbound Rules &amp;amp; Rate Limiting) &lt;/h3&gt;
&lt;p&gt;Określaj precyzyjnie, kto i jakimi protokołami może komunikować się z Twoimi aplikacjami:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Otwieraj konkretne porty lub zakresy portów.&lt;/li&gt;
&lt;li&gt;Wybieraj obsługiwane protokoły (TCP, UDP lub oba jednocześnie).&lt;/li&gt;
&lt;li&gt;Przypisuj akcje (Zezwól / Blokuj) dla poszczególnych reguł.&lt;/li&gt;
&lt;li&gt;Ustawiaj &lt;strong&gt;dokładne limity pakietów na sekundę (PPS)&lt;/strong&gt;, aby zabezpieczyć aplikacje i serwery gier przed atakami typu flood.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/cVUKKiMhNW-400.avif 400w, https://voxihost.pl/assets/images/generated/cVUKKiMhNW-800.avif 800w, https://voxihost.pl/assets/images/generated/cVUKKiMhNW-1600.avif 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/cVUKKiMhNW-400.webp 400w, https://voxihost.pl/assets/images/generated/cVUKKiMhNW-800.webp 800w, https://voxihost.pl/assets/images/generated/cVUKKiMhNW-1600.webp 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/cVUKKiMhNW-400.jpeg&quot; alt=&quot;Konfiguracja reguł przychodzących i limitów PPS w dashboardzie VoxiHost&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1600&quot; height=&quot;750&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/cVUKKiMhNW-400.jpeg 400w, https://voxihost.pl/assets/images/generated/cVUKKiMhNW-800.jpeg 800w, https://voxihost.pl/assets/images/generated/cVUKKiMhNW-1600.jpeg 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;h3 id=&quot;2-bezpieczenstwo-wyjsciowe-egress-security&quot;&gt;2. Bezpieczeństwo wyjściowe (Egress Security) &lt;/h3&gt;
&lt;p&gt;Dbaj o czystość i reputację swojego adresu IP. Kontrola ruchu wyjściowego pozwala monitorować pakiety opuszczające Twój serwer, chroniąc przed sytuacją, w której przejęta przez hakerów aplikacja zacznie wysyłać spam lub skanować sieć.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Blokada portu 25 (SMTP)&lt;/strong&gt; zapobiegająca masowej wysyłce spamu.&lt;/li&gt;
&lt;li&gt;Tworzenie własnych reguł zezwalających (whitelist) dla ruchu wychodzącego.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/kBnpTBZ5vs-400.avif 400w, https://voxihost.pl/assets/images/generated/kBnpTBZ5vs-800.avif 800w, https://voxihost.pl/assets/images/generated/kBnpTBZ5vs-1600.avif 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/kBnpTBZ5vs-400.webp 400w, https://voxihost.pl/assets/images/generated/kBnpTBZ5vs-800.webp 800w, https://voxihost.pl/assets/images/generated/kBnpTBZ5vs-1600.webp 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/kBnpTBZ5vs-400.jpeg&quot; alt=&quot;Konfiguracja reguł ruchu wyjściowego w dashboardzie VoxiHost&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1600&quot; height=&quot;750&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/kBnpTBZ5vs-400.jpeg 400w, https://voxihost.pl/assets/images/generated/kBnpTBZ5vs-800.jpeg 800w, https://voxihost.pl/assets/images/generated/kBnpTBZ5vs-1600.jpeg 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;h3 id=&quot;3-analizator-blokad-block-analyzer&quot;&gt;3. Analizator blokad (Block Analyzer) &lt;/h3&gt;
&lt;p&gt;Diagnozowanie problemów z łącznością stało się banalnie proste. Jeśli klient lub zewnętrzna usługa nie może połączyć się z Twoim VPS, możesz natychmiast sprawdzić powód w narzędziu &lt;strong&gt;Block Analyzer&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sprawdź, czy adres IP nie został zablokowany przez filtry globalne (np. GeoIP/ASN).&lt;/li&gt;
&lt;li&gt;Dowiedz się, czy dany adres IP nie przekroczył zdefiniowanych limitów pakietów (PPS).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/wSTM-5yUC0-400.avif 400w, https://voxihost.pl/assets/images/generated/wSTM-5yUC0-800.avif 800w, https://voxihost.pl/assets/images/generated/wSTM-5yUC0-1600.avif 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/wSTM-5yUC0-400.webp 400w, https://voxihost.pl/assets/images/generated/wSTM-5yUC0-800.webp 800w, https://voxihost.pl/assets/images/generated/wSTM-5yUC0-1600.webp 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/wSTM-5yUC0-400.jpeg&quot; alt=&quot;Weryfikacja blokad adresów IP w narzędziu Block Analyzer w dashboardzie VoxiHost&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1600&quot; height=&quot;750&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/wSTM-5yUC0-400.jpeg 400w, https://voxihost.pl/assets/images/generated/wSTM-5yUC0-800.jpeg 800w, https://voxihost.pl/assets/images/generated/wSTM-5yUC0-1600.jpeg 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;h3 id=&quot;4-filtry-globalne-global-inbound&quot;&gt;4. Filtry globalne (Global Inbound) &lt;/h3&gt;
&lt;p&gt;Odrzucaj niepożądane połączenia na poziomie infrastruktury sieciowej VoxiHost:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Filtr GeoIP&lt;/strong&gt;: Blokuj lub zezwalaj na ruch z wybranych państw.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Filtr sieci ASN&lt;/strong&gt;: Blokuj całe serwerownie, dostawców VPN lub konkretnych operatorów.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Baza Threat Shield&lt;/strong&gt;: Automatyczne, codzienne aktualizowanie list znanych botnetów i złośliwych skanerów sieciowych.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/VAZ3_oA8hd-400.avif 400w, https://voxihost.pl/assets/images/generated/VAZ3_oA8hd-800.avif 800w, https://voxihost.pl/assets/images/generated/VAZ3_oA8hd-1600.avif 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/VAZ3_oA8hd-400.webp 400w, https://voxihost.pl/assets/images/generated/VAZ3_oA8hd-800.webp 800w, https://voxihost.pl/assets/images/generated/VAZ3_oA8hd-1600.webp 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/VAZ3_oA8hd-400.jpeg&quot; alt=&quot;Zarządzanie filtrami GeoIP oraz ASN w dashboardzie VoxiHost&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1600&quot; height=&quot;750&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/VAZ3_oA8hd-400.jpeg 400w, https://voxihost.pl/assets/images/generated/VAZ3_oA8hd-800.jpeg 800w, https://voxihost.pl/assets/images/generated/VAZ3_oA8hd-1600.jpeg 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;dedykowane-szablony-dla-gier-i-protokolow&quot;&gt;Dedykowane szablony dla gier i protokołów &lt;/h2&gt;
&lt;p&gt;Różne aplikacje wymagają innej charakterystyki filtrowania ruchu. Strona internetowa oparta o protokół HTTPS potrzebuje innych reguł ochronnych niż serwer Minecraft lub Counter-Strike oparty o protokół UDP.&lt;/p&gt;
&lt;p&gt;VoxiShield automatycznie wdraża i dopasowuje szablony filtracji stworzone z myślą o najpopularniejszych grach sieciowych i protokołach sieciowych. Dzięki temu filtry reagują w ułamku sekundy, zachowując minimalne opóźnienia (pingi) podczas gry.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;promocja-z-okazji-premiery-35-z-kodem-voxishield&quot;&gt;Promocja z okazji premiery: -35% z kodem VOXISHIELD &lt;/h2&gt;
&lt;p&gt;Chcesz przetestować działanie nowego panelu zarządzania? Przygotowaliśmy dedykowaną zniżkę na uruchomienie nowych usług VPS z wbudowaną ochroną.&lt;/p&gt;
&lt;p&gt;Użyj kodu rabatowego &lt;strong&gt;&lt;span&gt;VOXISHIELD&lt;/span&gt;&lt;/strong&gt; podczas składania zamówienia, aby otrzymać &lt;strong&gt;35% rabatu&lt;/strong&gt; na miesięczną opłatę abonamentową.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Szczegóły promocji:&lt;/strong&gt; Kod promocyjny jest ważny dla wszystkich cykli miesięcznych do &lt;strong&gt;10.07.2026&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;podsumowanie&quot;&gt;Podsumowanie &lt;/h2&gt;
&lt;p&gt;W VoxiHost pokazujemy, że zaawansowane bezpieczeństwo sieciowe nie musi wiązać się z dodatkowymi opłatami ani skomplikowaną konfiguracją. Otrzymujesz potężne, bezpłatne narzędzie, które rozwija się wraz z Twoim projektem.&lt;/p&gt;
&lt;p&gt;Zabezpiecz swoją infrastrukturę już dziś! Wybierz tani &lt;a href=&quot;https://voxihost.pl/pl/vps/budget/&quot;&gt;Budget VPS&lt;/a&gt; lub ultraszybki &lt;a href=&quot;https://voxihost.pl/pl/vps/premium/&quot;&gt;Premium VPS&lt;/a&gt;, a konfigurację reguł sieciowych rozpocznij od razu w dedykowanym panelu &lt;a href=&quot;https://voxihost.pl/pl/shield/&quot;&gt;VoxiShield Smart Firewall&lt;/a&gt; w dashboardzie VoxiHost.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Jak zainstalować sterowniki NVIDIA na Ubuntu i AnduinOS</title>
    <link href="https://voxihost.pl/pl/guides/instalacja-sterownikow-nvidia-ubuntu/" rel="alternate"/>
    <published>2026-06-30T00:00:00Z</published>
    <updated>2026-06-30T00:00:00Z</updated>
    <id>https://voxihost.pl/pl/guides/instalacja-sterownikow-nvidia-ubuntu/</id>
    <summary type="text">Instrukcja instalacji własnościowych sterowników NVIDIA na Ubuntu, w tym podpisywanie modułu dla Secure Boot oraz instalacja ręczna.</summary>
    <category term="Poradniki"/>
    <content xml:lang="pl" type="html">&lt;h2 id=&quot;wprowadzenie&quot;&gt;Wprowadzenie &lt;/h2&gt;
&lt;p&gt;Wydajna praca karty graficznej NVIDIA pod systemem Linux wymaga instalacji własnościowych sterowników producenta. Choć otwartoźródłowy sterownik Nouveau wystarcza do podstawowych zadań biurowych, nie oferuje on optymalizacji niezbędnych do uruchamiania gier, renderowania wideo oraz obliczeń AI na serwerze lub stacji roboczej w &lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;W tym przewodniku przedstawiamy trzy główne metody instalacji sterowników NVIDIA na systemach opartych na Ubuntu, od zautomatyzowanego wdrożenia po zaawansowaną instalację ręczną.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Wymagania wstępne:&lt;/strong&gt; Upewnij się, że Twój system jest zaktualizowany, a komputer posiada kompatybilną kartę NVIDIA. Zawsze wykonaj kopię zapasową systemu przed modyfikacją sterowników graficznych.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;krok-1-automatyczna-instalacja&quot;&gt;Krok 1: Automatyczna instalacja &lt;/h2&gt;
&lt;p&gt;Zalecanym i najprostszym podejściem jest automatyczne wykrycie sprzętu przez system i wybór właściwego pakietu:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo apt update
sudo ubuntu-drivers install
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Po zakończeniu procesu uruchom ponownie system. Metoda ta jest rekomendowana w większości przypadków, ponieważ automatycznie konfiguruje zależności oraz mechanizm DKMS (Dynamic Kernel Module Support).&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;krok-2-opcjonalnie-instalacja-z-repozytorium-ppa&quot;&gt;Krok 2: (Opcjonalnie) Instalacja z repozytorium PPA &lt;/h2&gt;
&lt;p&gt;Gdy potrzebujesz nowszego sterownika niż wersje oferowane w standardowych repozytoriach (na przykład przy konfiguracji najnowszych architektur GPU), skorzystaj z oficjalnego repozytorium Graphics Drivers PPA:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Następnie wyświetl listę dostępnych wersji i zainstaluj wybraną z nich:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;ubuntu-drivers list
sudo apt install nvidia-driver-550 # Zastąp &#39;550&#39; wybranym numerem wersji
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;krok-3-reczna-instalacja-z-wlaczonym-secure-boot&quot;&gt;Krok 3: Ręczna instalacja z włączonym Secure Boot &lt;/h2&gt;
&lt;p&gt;W przypadku ręcznej instalacji z oficjalnego pliku &lt;code&gt;.run&lt;/code&gt; przy aktywnym zabezpieczeniu UEFI Secure Boot, konieczne jest ręczne podpisanie modułu jądra przed jego załadowaniem.&lt;/p&gt;
&lt;h3 id=&quot;generowanie-klucza-podpisujacego&quot;&gt;Generowanie klucza podpisującego &lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;mkdir ~/mok-keys &amp;amp;&amp;amp; cd ~/mok-keys
openssl req -new -newkey rsa:2048 -days 36500 -nodes -keyout MOK.key -out MOK.csr
openssl x509 -req -in MOK.csr -signkey MOK.key -out MOK.crt
openssl x509 -in MOK.crt -outform DER -out MOK.der
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;rejestracja-klucza-mok&quot;&gt;Rejestracja klucza (MOK) &lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;sudo mokutil --import MOK.der
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wpisz jednorazowe hasło i uruchom ponownie komputer. Podczas rozruchu wyświetli się niebieski ekran narzędzia MokManager: wybierz opcję „Enroll MOK”, potwierdź import i podaj utworzone hasło.&lt;/p&gt;
&lt;h3 id=&quot;uruchomienie-instalatora&quot;&gt;Uruchomienie instalatora &lt;/h3&gt;
&lt;p&gt;Po uruchomieniu systemu zatrzymaj menedżer wyświetlania (jeśli jest aktywny) i uruchom instalator, wskazując ścieżki do wygenerowanych kluczy jako parametry:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo ./NVIDIA-Linux-x86_64-xxx.xx.run --module-signing-secret-key=/home/nazwa_uzytkownika/mok-keys/MOK.key --module-signing-public-key=/home/nazwa_uzytkownika/mok-keys/MOK.crt
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;podsumowanie&quot;&gt;Podsumowanie &lt;/h2&gt;
&lt;p&gt;Po zakończeniu instalacji możesz zweryfikować status karty graficznej, wpisując:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;nvidia-smi
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Jeśli na ekranie zobaczysz tabelę ze szczegółami swojej karty GPU, wszystko działa prawidłowo! Jeśli uruchamiasz kontenery korzystające z akceleracji graficznej, pamiętaj o zapoznaniu się z dokumentacją &lt;a href=&quot;https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html&quot;&gt;NVIDIA Container Toolkit&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Szukasz wydajnego środowiska do realizacji swoich projektów sztucznej inteligencji? Sprawdź plany &lt;a href=&quot;https://voxihost.pl/pl/vps/premium/&quot;&gt;Premium VPS&lt;/a&gt; od &lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt; z dedykowanymi zasobami sprzętowymi.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Jak znaleźć i używać najszybszego serwera lustrzanego APT dla Ubuntu</title>
    <link href="https://voxihost.pl/pl/guides/najszybszy-serwer-lustrzany-apt-ubuntu/" rel="alternate"/>
    <published>2026-06-29T00:00:00Z</published>
    <updated>2026-06-29T00:00:00Z</updated>
    <id>https://voxihost.pl/pl/guides/najszybszy-serwer-lustrzany-apt-ubuntu/</id>
    <summary type="text">Przyśpiesz aktualizacje i instalację pakietów na Ubuntu, konfigurując system do automatycznego korzystania z najszybszego mirrora APT.</summary>
    <category term="Poradniki"/>
    <content xml:lang="pl" type="html">&lt;h2 id=&quot;wprowadzenie&quot;&gt;Wprowadzenie &lt;/h2&gt;
&lt;p&gt;Po wdrożeniu nowego serwera z systemem Ubuntu domyślna konfiguracja menedżera pakietów APT zazwyczaj wskazuje na główne, globalne serwery lustrzane (mirrory). W zależności od fizycznej lokalizacji Twojego serwera VPS w &lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt;, może to spowolnić pobieranie pakietów podczas operacji &lt;code&gt;apt update&lt;/code&gt; oraz &lt;code&gt;apt install&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Aby uzyskać najlepszą przepustowość, warto skonfigurować APT do korzystania z najszybszego serwera lustrzanego w Twoim regionie. W tym poradniku udostępniamy prosty skrypt, który automatycznie przetestuje kilkanaście globalnych mirrorów, wybierze ten o najniższych opóźnieniach i zaktualizuje pliki konfiguracyjne (wspierając tradycyjny format &lt;code&gt;sources.list&lt;/code&gt; oraz nowoczesny standard &lt;code&gt;ubuntu.sources&lt;/code&gt;).&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;krok-1-utworzenie-skryptu-wyboru-serwera-lustrzanego&quot;&gt;Krok 1: Utworzenie skryptu wyboru serwera lustrzanego &lt;/h2&gt;
&lt;p&gt;Do przetestowania czasów odpowiedzi poszczególnych serwerów lustrzanych za pomocą narzędzia &lt;code&gt;curl&lt;/code&gt; użyjemy skryptu bash.&lt;/p&gt;
&lt;p&gt;Utwórz nowy plik o nazwie &lt;code&gt;fastest-mirror.sh&lt;/code&gt; za pomocą wybranego edytora tekstu:&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/dcHiPp7Gur-400.avif 400w, https://voxihost.pl/assets/images/generated/dcHiPp7Gur-800.avif 800w, https://voxihost.pl/assets/images/generated/dcHiPp7Gur-1578.avif 1578w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/dcHiPp7Gur-400.webp 400w, https://voxihost.pl/assets/images/generated/dcHiPp7Gur-800.webp 800w, https://voxihost.pl/assets/images/generated/dcHiPp7Gur-1578.webp 1578w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/dcHiPp7Gur-400.jpeg&quot; alt=&quot;Proces tworzenia skryptu&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1578&quot; height=&quot;981&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/dcHiPp7Gur-400.jpeg 400w, https://voxihost.pl/assets/images/generated/dcHiPp7Gur-800.jpeg 800w, https://voxihost.pl/assets/images/generated/dcHiPp7Gur-1578.jpeg 1578w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;nano fastest-mirror.sh
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wklej do pliku następujący kod skryptu:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;#!/bin/bash

# Sprawdzenie bieżącego formatu źródeł APT
check_apt_format() {
    local old_format=false
    local new_format=false
    
    if [ -f &amp;quot;/etc/apt/sources.list&amp;quot; ]; then
        if grep -v &#39;^#&#39; /etc/apt/sources.list | grep -q &#39;[^[:space:]]&#39;; then
            old_format=true
        fi
    fi
    
    if [ -f &amp;quot;/etc/apt/sources.list.d/ubuntu.sources&amp;quot; ]; then
        if grep -v &#39;^#&#39; /etc/apt/sources.list.d/ubuntu.sources | grep -q &#39;[^[:space:]]&#39;; then
            new_format=true
        fi
    fi
    
    if $old_format &amp;amp;&amp;amp; $new_format; then
        echo &amp;quot;both&amp;quot;
    elif $old_format; then
        echo &amp;quot;old&amp;quot;
    elif $new_format; then
        echo &amp;quot;new&amp;quot;
    else
        echo &amp;quot;none&amp;quot;
    fi
}

# Znajdowanie najszybszego serwera lustrzanego
find_fastest_mirror() {
    echo &amp;quot;Testowanie prędkości mirrorów...&amp;quot; &amp;gt;&amp;amp;2
    codename=$(lsb_release -cs)
    
    mirrors=(
        &amp;quot;http://archive.ubuntu.com/ubuntu/&amp;quot;
        &amp;quot;https://mirror.i3d.net/pub/ubuntu/&amp;quot;
        &amp;quot;https://mirroronet.pl/pub/mirrors/ubuntu/&amp;quot;
        &amp;quot;http://us.archive.ubuntu.com/ubuntu/&amp;quot;
        &amp;quot;http://uk.archive.ubuntu.com/ubuntu/&amp;quot;
        &amp;quot;http://de.archive.ubuntu.com/ubuntu/&amp;quot;
        &amp;quot;https://ftp.uni-stuttgart.de/ubuntu/&amp;quot;
        &amp;quot;https://mirror.ubuntu.ikoula.com/&amp;quot;
    )
    
    declare -A results
    
    for mirror in &amp;quot;${mirrors[@]}&amp;quot;; do
        echo &amp;quot;Testowanie $mirror ...&amp;quot; &amp;gt;&amp;amp;2
        response=&amp;quot;$(curl -o /dev/null -s -w &amp;quot;%{http_code} %{time_total}&#92;n&amp;quot; &#92;
                  --connect-timeout 2 --max-time 3 &amp;quot;${mirror}dists/${codename}/Release&amp;quot;)&amp;quot;
        
        http_code=$(echo &amp;quot;$response&amp;quot; | awk &#39;{print $1}&#39;)
        time_total=$(echo &amp;quot;$response&amp;quot; | awk &#39;{print $2}&#39;)
        
        if [ &amp;quot;$http_code&amp;quot; -eq 200 ]; then
            results[&amp;quot;$mirror&amp;quot;]=&amp;quot;$time_total&amp;quot;
        else
            results[&amp;quot;$mirror&amp;quot;]=&amp;quot;9999&amp;quot;
        fi
    done
    
    sorted_mirrors=&amp;quot;$(
        for url in &amp;quot;${!results[@]}&amp;quot;; do
            echo &amp;quot;$url ${results[$url]}&amp;quot;
        done | sort -k2 -n
    )&amp;quot;
    
    fastest_mirror=&amp;quot;$(echo &amp;quot;$sorted_mirrors&amp;quot; | head -n 1 | awk &#39;{print $1}&#39;)&amp;quot;
    
    if [[ &amp;quot;$fastest_mirror&amp;quot; == &amp;quot;&amp;quot; || &amp;quot;${results[$fastest_mirror]}&amp;quot; == &amp;quot;9999&amp;quot; ]]; then
        fastest_mirror=&amp;quot;http://archive.ubuntu.com/ubuntu/&amp;quot;
    fi
    
    echo &amp;quot;$fastest_mirror&amp;quot;
}

# Generowanie pliku źródeł w nowym formacie (ubuntu.sources)
generate_new_format() {
    local mirror=&amp;quot;$1&amp;quot;
    local codename=&amp;quot;$2&amp;quot;
    
    echo &amp;quot;Generowanie nowej listy źródeł /etc/apt/sources.list.d/ubuntu.sources&amp;quot;
    
    sudo tee /etc/apt/sources.list.d/ubuntu.sources &amp;gt;/dev/null &amp;lt;&amp;lt;EOF
Types: deb
URIs: $mirror
Suites: $codename $codename-updates $codename-backports $codename-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
EOF
}

# Generowanie pliku źródeł w starym formacie (sources.list)
generate_old_format() {
    local mirror=&amp;quot;$1&amp;quot;
    local codename=&amp;quot;$2&amp;quot;
    
    echo &amp;quot;Generowanie starej listy źródeł /etc/apt/sources.list&amp;quot;
    
    sudo tee /etc/apt/sources.list &amp;gt;/dev/null &amp;lt;&amp;lt;EOF
deb $mirror $codename main restricted universe multiverse
deb $mirror $codename-updates main restricted universe multiverse
deb $mirror $codename-backports main restricted universe multiverse
deb $mirror $codename-security main restricted universe multiverse
EOF
}

main() {
    sudo apt update
    sudo apt install -y curl lsb-release
    
    format=$(check_apt_format)
    codename=$(lsb_release -cs)
    
    fastest_mirror=$(find_fastest_mirror)
    echo &amp;quot;Znaleziono najszybszy mirror: $fastest_mirror&amp;quot;
    
    case &amp;quot;$format&amp;quot; in
        &amp;quot;old&amp;quot;|&amp;quot;none&amp;quot;)
            generate_old_format &amp;quot;$fastest_mirror&amp;quot; &amp;quot;$codename&amp;quot;
            ;;
        &amp;quot;new&amp;quot;|&amp;quot;both&amp;quot;)
            if [ &amp;quot;$format&amp;quot; == &amp;quot;both&amp;quot; ]; then
                sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
            fi
            generate_new_format &amp;quot;$fastest_mirror&amp;quot; &amp;quot;$codename&amp;quot;
            ;;
    esac
    
    sudo apt update
    echo &amp;quot;Optymalizacja źródeł APT zakończona pomyślnie!&amp;quot;
}

main
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Uwaga:&lt;/strong&gt; W powyższym skrypcie celowo skróciliśmy listę mirrorów dla przejrzystości kodu, skupiając się na głównych serwerach europejskich i amerykańskich (idealnych dla lokalizacji &lt;a href=&quot;https://voxihost.pl/pl/vps/premium/&quot;&gt;Premium VPS&lt;/a&gt;). Możesz łatwo dopisać do tablicy &lt;code&gt;mirrors&lt;/code&gt; dodatkowe regionalne adresy URL, jeśli Twój serwer znajduje się w innej części świata.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/dcHiPp7Gur-400.avif 400w, https://voxihost.pl/assets/images/generated/dcHiPp7Gur-800.avif 800w, https://voxihost.pl/assets/images/generated/dcHiPp7Gur-1578.avif 1578w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/dcHiPp7Gur-400.webp 400w, https://voxihost.pl/assets/images/generated/dcHiPp7Gur-800.webp 800w, https://voxihost.pl/assets/images/generated/dcHiPp7Gur-1578.webp 1578w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/dcHiPp7Gur-400.jpeg&quot; alt=&quot;Terminal pokazujący uruchomienie skryptu sprawdzającego opóźnienia serwerów lustrzanych&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1578&quot; height=&quot;981&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/dcHiPp7Gur-400.jpeg 400w, https://voxihost.pl/assets/images/generated/dcHiPp7Gur-800.jpeg 800w, https://voxihost.pl/assets/images/generated/dcHiPp7Gur-1578.jpeg 1578w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;krok-2-nadanie-uprawnien-do-wykonania-skryptu&quot;&gt;Krok 2: Nadanie uprawnień do wykonania skryptu &lt;/h2&gt;
&lt;p&gt;Zapisz i zamknij plik, a następnie nadaj skryptowi uprawnienia do uruchamiania:&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/SGB5F49x0P-400.avif 400w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/SGB5F49x0P-400.webp 400w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/SGB5F49x0P-400.jpeg&quot; alt=&quot;Proces nadawania uprawnień do wykonania skryptu&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;400&quot; height=&quot;56&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;chmod +x fastest-mirror.sh
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;krok-3-uruchomienie-skryptu&quot;&gt;Krok 3: Uruchomienie skryptu &lt;/h2&gt;
&lt;p&gt;Uruchom przygotowany skrypt. Automatycznie zainstaluje on narzędzia &lt;code&gt;curl&lt;/code&gt; i &lt;code&gt;lsb-release&lt;/code&gt; (jeśli nie są jeszcze obecne w systemie), przetestuje czasy odpowiedzi serwerów, wybierze najszybszy z nich i nadpisze pliki konfiguracyjne APT w formacie odpowiednim dla używanej wersji Ubuntu.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/8OMDbdV2dK-400.avif 400w, https://voxihost.pl/assets/images/generated/8OMDbdV2dK-800.avif 800w, https://voxihost.pl/assets/images/generated/8OMDbdV2dK-1578.avif 1578w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/8OMDbdV2dK-400.webp 400w, https://voxihost.pl/assets/images/generated/8OMDbdV2dK-800.webp 800w, https://voxihost.pl/assets/images/generated/8OMDbdV2dK-1578.webp 1578w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/8OMDbdV2dK-400.jpeg&quot; alt=&quot;Proces uruchomienia skryptu&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1578&quot; height=&quot;981&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/8OMDbdV2dK-400.jpeg 400w, https://voxihost.pl/assets/images/generated/8OMDbdV2dK-800.jpeg 800w, https://voxihost.pl/assets/images/generated/8OMDbdV2dK-1578.jpeg 1578w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;./fastest-mirror.sh
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Na ekranie powinien pojawić się komunikat zbliżony do poniższego:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Testowanie prędkości mirrorów...
Testowanie http://archive.ubuntu.com/ubuntu/ ...
Testowanie https://mirroronet.pl/pub/mirrors/ubuntu/ ...
Znaleziono najszybszy mirror: https://mirroronet.pl/pub/mirrors/ubuntu/
Generowanie nowej listy źródeł /etc/apt/sources.list.d/ubuntu.sources
Hit:1 https://mirroronet.pl/pub/mirrors/ubuntu noble InRelease
...
Optymalizacja źródeł APT zakończona pomyślnie!
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/3LydO5u8J0-400.avif 400w, https://voxihost.pl/assets/images/generated/3LydO5u8J0-800.avif 800w, https://voxihost.pl/assets/images/generated/3LydO5u8J0-1513.avif 1513w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/3LydO5u8J0-400.webp 400w, https://voxihost.pl/assets/images/generated/3LydO5u8J0-800.webp 800w, https://voxihost.pl/assets/images/generated/3LydO5u8J0-1513.webp 1513w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/3LydO5u8J0-400.jpeg&quot; alt=&quot;Pokazanie pliku sources.list.d/ubuntu.sources&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1513&quot; height=&quot;143&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/3LydO5u8J0-400.jpeg 400w, https://voxihost.pl/assets/images/generated/3LydO5u8J0-800.jpeg 800w, https://voxihost.pl/assets/images/generated/3LydO5u8J0-1513.jpeg 1513w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;podsumowanie&quot;&gt;Podsumowanie &lt;/h2&gt;
&lt;p&gt;Twój serwer pobiera teraz pakiety z najszybszego regionalnego serwera lustrzanego, co znacząco przyspieszy instalowanie programów oraz codzienne aktualizacje bezpieczeństwa.&lt;/p&gt;
&lt;p&gt;Szukasz wydajnego hostingu w Europie? Uruchom serwer &lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt; &lt;a href=&quot;https://voxihost.pl/pl/vps/budget/&quot;&gt;Budget VPS&lt;/a&gt; już dzisiaj i przekonaj się, jak szybko działa połączenie pamięci NVMe z optymalną ścieżką routingu sieciowego.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>LiteSpeed vs Caddy: Starcie nowoczesnych serwerów WWW</title>
    <link href="https://voxihost.pl/pl/guides/litespeed-vs-caddy/" rel="alternate"/>
    <published>2026-06-23T00:00:00Z</published>
    <updated>2026-06-23T00:00:00Z</updated>
    <id>https://voxihost.pl/pl/guides/litespeed-vs-caddy/</id>
    <summary type="text">Porównaj LiteSpeed (OpenLiteSpeed) i Caddy. Zobacz, czym różnią się w wydajności WordPressa, stopniu skomplikowania konfiguracji, automatycznym SSL i na VPS.</summary>
    <category term="Porównania"/>
    <content xml:lang="pl" type="html">&lt;p&gt;Podczas gdy &lt;a href=&quot;https://voxihost.pl/pl/guides/nginx-vs-apache/&quot;&gt;Nginx i Apache&lt;/a&gt; pozostają najpopularniejszymi serwerami WWW w sieci, dwie nowoczesne alternatywy zyskały ogromną popularność wśród deweloperów, administratorów i blogerów: &lt;strong&gt;LiteSpeed&lt;/strong&gt; (konkretnie jego otwartoźródłowa wersja, &lt;strong&gt;OpenLiteSpeed&lt;/strong&gt;) oraz &lt;strong&gt;Caddy&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Oba te serwery zostały zaprojektowane z myślą o wyższej wydajności i łatwiejszym zarządzaniu niż starsze rozwiązania. Trafiają one jednak w zupełnie inne scenariusze użycia i filozofie pracy.&lt;/p&gt;
&lt;p&gt;W tym przewodniku porównamy OpenLiteSpeed oraz Caddy pod maską, przeanalizujemy ich pliki konfiguracyjne, ocenimy wydajność (szczególnie w środowisku WordPress) i pomożemy Ci zdecydować, które z nich zainstalować na swoim serwerze w &lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt;.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;1-czym-jest-openlitespeed&quot;&gt;1. Czym jest OpenLiteSpeed? &lt;/h2&gt;
&lt;p&gt;OpenLiteSpeed (OLS) to darmowa wersja komercyjnego serwera LiteSpeed Enterprise. Został zaprojektowany jako bezpośredni, wysokowydajny zamiennik dla Apache. OLS dzieli z Apache wiele koncepcji konfiguracyjnych, oferując jednocześnie asynchroniczną prędkość działania opartą na zdarzeniach, zbliżoną do Nginx.&lt;/p&gt;
&lt;h3 id=&quot;glowne-zalety-ols&quot;&gt;Główne zalety OLS: &lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Kompatybilność z Apache:&lt;/strong&gt; Rozumie reguły przepisywania linków (rewrite rules) bezpośrednio z plików Apache, co ułatwia migrację.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;WebAdmin GUI:&lt;/strong&gt; Posiada wbudowany panel webowy (graficzny), z poziomu którego można klikać i zarządzać wirtualnymi hostami, portami nasłuchu, SSL oraz bezpieczeństwem.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Silnik LSCache:&lt;/strong&gt; Autorski, wbudowany moduł pamięci podręcznej na poziomie serwera. Jest powszechnie uważany za najszybszy cache dla WordPress, Magento i innych systemów CMS.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;2-czym-jest-caddy&quot;&gt;2. Czym jest Caddy? &lt;/h2&gt;
&lt;p&gt;Caddy to nowoczesny serwer WWW napisany w języku Go. Jego głównym atutem jest prostota i maksymalne bezpieczeństwo po wyjęciu z pudełka. Był to pierwszy serwer, który wprowadził w pełni automatyczną obsługę i odnawianie certyfikatów SSL/TLS z Let&#39;s Encrypt oraz ZeroSSL, bez potrzeby instalacji zewnętrznych narzędzi typu Certbot.&lt;/p&gt;
&lt;h3 id=&quot;glowne-zalety-caddy&quot;&gt;Główne zalety Caddy: &lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Automatyczny SSL:&lt;/strong&gt; Bez jakiejkolwiek konfiguracji Caddy sam dba o wygenerowanie, zainstalowanie i odnawianie certyfikatów HTTPS dla każdej Twojej domeny.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Caddyfile:&lt;/strong&gt; Używa niezwykle prostego, czytelnego dla człowieka pliku konfiguracyjnego, który rzadko przekracza kilka linii tekstu.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Napisany w Go:&lt;/strong&gt; Korzysta z bezpieczeństwa pamięci (memory safety) oferowanego przez ten język, co eliminuje podatności na przepełnienie bufora (buffer overflow).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/iGtmwKUbSP-400.avif 400w, https://voxihost.pl/assets/images/generated/iGtmwKUbSP-800.avif 800w, https://voxihost.pl/assets/images/generated/iGtmwKUbSP-1600.avif 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/iGtmwKUbSP-400.webp 400w, https://voxihost.pl/assets/images/generated/iGtmwKUbSP-800.webp 800w, https://voxihost.pl/assets/images/generated/iGtmwKUbSP-1600.webp 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/iGtmwKUbSP-400.jpeg&quot; alt=&quot;Wizualne porównanie architektury serwerów OpenLiteSpeed oraz Caddy&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1600&quot; height=&quot;805&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/iGtmwKUbSP-400.jpeg 400w, https://voxihost.pl/assets/images/generated/iGtmwKUbSP-800.jpeg 800w, https://voxihost.pl/assets/images/generated/iGtmwKUbSP-1600.jpeg 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;3-konfiguracja-panel-webowy-vs-caddyfile&quot;&gt;3. Konfiguracja: Panel Webowy vs Caddyfile &lt;/h2&gt;
&lt;p&gt;Konfiguracja tych dwóch serwerów to dwie zupełnie różne filozofie pracy.&lt;/p&gt;
&lt;h3 id=&quot;konfiguracja-openlitespeed&quot;&gt;Konfiguracja OpenLiteSpeed &lt;/h3&gt;
&lt;p&gt;Konfiguracją OLS najwygodniej zarządza się przez &lt;strong&gt;WebAdmin GUI&lt;/strong&gt; (port &lt;code&gt;7080&lt;/code&gt;). Choć jest to wygodne dla osób, które wolą interfejs graficzny zamiast pisania w konsoli, może to utrudnić automatyzację konfiguracji (np. za pomocą Ansible czy w kontenerach Docker), ponieważ zmiany zapisywane są w wielu plikach XML.&lt;/p&gt;
&lt;p&gt;Reguły przepisywania linków (np. dla ładnych URL-i w WordPressie) wkleja się bezpośrednio w zakładce konfiguracji hosta wirtualnego.&lt;/p&gt;
&lt;h3 id=&quot;konfiguracja-caddy&quot;&gt;Konfiguracja Caddy &lt;/h3&gt;
&lt;p&gt;Caddy opiera się na jednym pliku tekstowym o nazwie &lt;strong&gt;Caddyfile&lt;/strong&gt;. Jest on niesamowicie przejrzysty. Przykładowo, aby uruchomić w pełni zabezpieczone reverse proxy dla domeny &lt;code&gt;moja-domena.pl&lt;/code&gt; przekazujące ruch na port aplikacji Node.js, Twój Caddyfile potrzebuje tylko 3 linii:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;moja-domena.pl {
    reverse_proxy localhost:3000
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Caddy automatycznie wykryje domenę, skontaktuje się z urzędem certyfikacji, przejdzie weryfikację, pobierze certyfikat SSL i ustawi przekierowanie z HTTP na HTTPS. Nie musisz pisać nic więcej.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;4-wydajnosc-i-hosting-wordpress&quot;&gt;4. Wydajność i hosting WordPress &lt;/h2&gt;
&lt;p&gt;Wydajność obu serwerów różni się znacząco w zależności od tego, czy serwujesz statyczne pliki, nowoczesne API, czy aplikacje PHP.&lt;/p&gt;
&lt;h3 id=&quot;wordpress-openlitespeed-nie-ma-sobie-rownych&quot;&gt;WordPress: OpenLiteSpeed nie ma sobie równych &lt;/h3&gt;
&lt;p&gt;Jeśli Twoim głównym celem jest postawienie bloga lub sklepu na WordPressie, &lt;strong&gt;OpenLiteSpeed połączony z darmową wtyczką LSCache (LiteSpeed Cache) to najlepszy możliwy wybór&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Wtyczka LSCache komunikuje się bezpośrednio z jądrem serwera OpenLiteSpeed, co pozwala omijać interpreter PHP i zwracać gotowy kod HTML bezpośrednio z pamięci cache. Obsługuje zaawansowane optymalizacje obrazków, bazy danych oraz automatycznie czyści cache po edycji wpisów. Testy pokazują, że LiteSpeed potrafi obsłużyć tysiące zapytań na sekundę przy minimalnym pingu.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Wskazówka dot. cache w WordPress:&lt;/strong&gt; Korzystając z OpenLiteSpeed, unikaj standardowych wtyczek buforujących opartych na PHP, takich jak WP Rocket czy W3 Total Cache. Wtyczka &lt;strong&gt;LSCache&lt;/strong&gt; została zaprojektowana specjalnie do bezpośredniej komunikacji z rdzeniem serwera, co zapewnia znacznie wyższą wydajność i mniejsze zużycie procesora VPS.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;reverse-proxy-i-strony-statyczne-caddy-stawia-na-prostote&quot;&gt;Reverse Proxy i Strony Statyczne: Caddy stawia na prostotę &lt;/h3&gt;
&lt;p&gt;Jeśli wdrażasz API w Node.js, mikroserwisy w Go lub statyczną witrynę (React, Vue, Hugo), &lt;strong&gt;Caddy będzie optymalnym wyborem&lt;/strong&gt;. Działa jako bezobsługowe, lekkie reverse proxy. Zapominasz o konfiguracji Certbota, cronów do odnawiania certyfikatów i pisaniu długich reguł przekierowań portów.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;5-tabela-porownawcza&quot;&gt;5. Tabela porównawcza &lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:left&quot;&gt;Cecha&lt;/th&gt;
&lt;th style=&quot;text-align:left&quot;&gt;OpenLiteSpeed&lt;/th&gt;
&lt;th style=&quot;text-align:left&quot;&gt;Caddy&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Język napisania&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;C++&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Go (bezpieczny dla pamięci)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Główny interfejs&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Graficzny panel Web (port 7080)&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Plik tekstowy (Caddyfile)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Automatyczny SSL&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Tak (wymaga skryptów acme)&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Tak (wbudowany natywnie)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Reguły Apache&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Tak (natywne wsparcie dla rewrites)&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Nie (wymaga konwersji)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Główne zastosowanie&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Wydajny WordPress i PHP&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Reverse proxy, aplikacje Node/Go, SPAs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Silnik Cache&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Zaawansowany LSCache&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Wymaga nagłówków / wtyczek zewnętrznych&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;podsumowanie-ktory-serwer-pasuje-do-twojego-vps&quot;&gt;Podsumowanie: Który serwer pasuje do Twojego VPS? &lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Zainstaluj &lt;strong&gt;OpenLiteSpeed&lt;/strong&gt;, jeśli budujesz sklep WooCommerce lub stronę na WordPressie i zależy Ci na najkrótszym czasie ładowania strony dzięki wtyczce LSCache. Serwer ten idealnie sprawdzi się na pakietach &lt;a href=&quot;https://voxihost.pl/pl/vps/premium/&quot;&gt;Premium VPS&lt;/a&gt;, gdzie szybkie dyski SSD NVMe dodatkowo przyspieszą działanie bazy danych.&lt;/li&gt;
&lt;li&gt;Zainstaluj &lt;strong&gt;Caddy&lt;/strong&gt;, jeśli jesteś deweloperem, chcesz postawić serwer w 10 sekund, automatycznie zabezpieczyć swoje aplikacje certyfikatem SSL i uruchomić lekki reverse proxy na maszynie typu &lt;a href=&quot;https://voxihost.pl/pl/vps/budget/&quot;&gt;Budget VPS&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Oba serwery świetnie współpracują z architekturą sieciową &lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt; oraz są chronione przez naszą ochronę &lt;a href=&quot;https://voxihost.pl/pl/shield/&quot;&gt;Shield DDoS&lt;/a&gt;, zapewniając bezpieczną i stabilną pracę Twoich projektów.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Docker vs Podman: Porównanie silników kontenerów dla systemów Linux</title>
    <link href="https://voxihost.pl/pl/guides/docker-vs-podman/" rel="alternate"/>
    <published>2026-06-22T00:00:00Z</published>
    <updated>2026-06-22T00:00:00Z</updated>
    <id>https://voxihost.pl/pl/guides/docker-vs-podman/</id>
    <summary type="text">Porównaj silniki kontenerów Docker i Podman. Poznaj różnice strukturalne, zalety bezpieczeństwa kontenerów rootless oraz kompatybilność z Docker Compose.</summary>
    <category term="Porównania"/>
    <content xml:lang="pl" type="html">&lt;p&gt;Konteneryzacja całkowicie odmieniła sposób, w jaki programiści budują, dostarczają i uruchamiają oprogramowanie. Przez długi czas słowo &lt;strong&gt;Docker&lt;/strong&gt; było wręcz synonimem technologii kontenerowej. Jednak firma Red Hat wprowadziła na rynek &lt;strong&gt;Podmana&lt;/strong&gt; (Pod Manager) jako bezpośrednią alternatywę zaprojektowaną w celu wyeliminowania fundamentalnych problemów architektonicznych i bezpieczeństwa Dockera.&lt;/p&gt;
&lt;p&gt;Jeśli konfigurujesz nowy wirtualny serwer prywatny, możesz się zastanawiać: czy powinieneś trzymać się sprawdzonego standardu, jakim jest Docker, czy też nadszedł czas na przejście na zorientowanego na bezpieczeństwo Podmana?&lt;/p&gt;
&lt;p&gt;W tym poradniku szczegółowo omówimy różnice strukturalne, aspekty bezpieczeństwa (kontenery bez roota), kompatybilność z narzędziem Docker Compose i pomożemy Ci wybrać odpowiednie rozwiązanie dla Twojego serwera w &lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt;.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;1-architektura-demon-vs-brak-demona-daemonless&quot;&gt;1. Architektura: Demon vs Brak Demona (Daemonless) &lt;/h2&gt;
&lt;p&gt;Najważniejsza różnica między Dockerem a Podmanem tkwi w sposobie zarządzania procesami kontenerów pod maską systemu operacyjnego.&lt;/p&gt;
&lt;h3 id=&quot;docker-architektura-oparta-na-demonie&quot;&gt;Docker: Architektura oparta na demonie &lt;/h3&gt;
&lt;p&gt;Docker opiera się na centralnej usłudze działającej w tle (demonie) o nazwie &lt;code&gt;dockerd&lt;/code&gt;.&lt;br /&gt;
Kiedy wpisujesz polecenie takie jak &lt;code&gt;docker run&lt;/code&gt;, klient CLI Dockera komunikuje się z demonem &lt;code&gt;dockerd&lt;/code&gt; za pośrednictwem lokalnego gniazda i API REST, a demon wykonuje żądanie.&lt;/p&gt;
&lt;p&gt;Oznacza to, że jeśli demon Dockera ulegnie awarii lub wymaga restartu, &lt;strong&gt;wszystkie uruchomione kontenery na Twoim serwerze zostaną tymczasowo zatrzymane lub zrestartowane&lt;/strong&gt; (chyba że włączono opcję live-restore). Ponadto standardowy demon Dockera musi domyślnie działać z uprawnieniami administratora (&lt;code&gt;root&lt;/code&gt;), chociaż od wersji 20.10 możliwe jest uruchomienie go w trybie rootless po dodatkowej konfiguracji.&lt;/p&gt;
&lt;h3 id=&quot;podman-architektura-bez-demona-daemonless&quot;&gt;Podman: Architektura bez demona (Daemonless) &lt;/h3&gt;
&lt;p&gt;Podman nie potrzebuje działającego w tle demona.&lt;br /&gt;
Kiedy uruchamiasz polecenie &lt;code&gt;podman run&lt;/code&gt;, narzędzie to bezpośrednio wywołuje standardowe mechanizmy jądra Linux (wykorzystując runtime kontenerów OCI, np. &lt;code&gt;runc&lt;/code&gt; lub &lt;code&gt;crun&lt;/code&gt;), aby włączyć i monitorować kontener.&lt;/p&gt;
&lt;p&gt;Jest to architektura typu &lt;strong&gt;daemonless&lt;/strong&gt;. Każdy kontener działa jako niezależny proces podrzędny (child process) użytkownika, który go uruchomił. Jeśli sam Podman zostanie zamknięty lub zaktualizowany, kontenery działają dalej bez zakłóceń.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/gmdUYig7qq-400.avif 400w, https://voxihost.pl/assets/images/generated/gmdUYig7qq-800.avif 800w, https://voxihost.pl/assets/images/generated/gmdUYig7qq-1600.avif 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/gmdUYig7qq-400.webp 400w, https://voxihost.pl/assets/images/generated/gmdUYig7qq-800.webp 800w, https://voxihost.pl/assets/images/generated/gmdUYig7qq-1600.webp 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/gmdUYig7qq-400.jpeg&quot; alt=&quot;Porównanie architektury Docker (opartej na demonie) i Podman (bezdemonicznej)&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1600&quot; height=&quot;763&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/gmdUYig7qq-400.jpeg 400w, https://voxihost.pl/assets/images/generated/gmdUYig7qq-800.jpeg 800w, https://voxihost.pl/assets/images/generated/gmdUYig7qq-1600.jpeg 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;2-bezpieczenstwo-potega-kontenerow-bez-roota-rootless&quot;&gt;2. Bezpieczeństwo: Potęga kontenerów bez roota (Rootless) &lt;/h2&gt;
&lt;p&gt;Bezpieczeństwo to obszar, w którym Podman zdecydowanie wygrywa. Ponieważ Docker działa jako demon z uprawnieniami roota, każdy, kto ma dostęp do gniazda Dockera, ma w praktyce pełny dostęp administratora do całego systemu operacyjnego hosta. Jeśli napastnik zdoła uciec z kontenera Dockera, natychmiast przejmuje kontrolę nad serwerem VPS.&lt;/p&gt;
&lt;p&gt;Podman od początku był projektowany z myślą o &lt;strong&gt;kontenerach rootless&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Rootless:&lt;/strong&gt; Podman potrafi uruchamiać, budować i zarządzać kontenerami bez uprawnień roota i bez użycia &lt;code&gt;sudo&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Przestrzenie nazw użytkowników (User Namespaces):&lt;/strong&gt; Mapuje użytkownika root wewnątrz kontenera na zwykłego, nieuprzywilejowanego użytkownika na serwerze VPS.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Jeśli kontener uruchomiony w trybie rootless zostanie zainfekowany lub napastnik zdoła się z niego wydostać, wciąż pozostaje uwięziony wewnątrz standardowego konta użytkownika na serwerze VPS, bez dostępu do plików systemowych i danych innych użytkowników.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Uwaga dot. bezpieczeństwa (Rootless w Dockerze):&lt;/strong&gt; Warto zauważyć, że od wersji 20.10 Docker oficjalnie wspiera tryb rootless i jest on dostępny &amp;quot;out of the box&amp;quot; na systemach Ubuntu i Debian. Niemniej jednak, jego uruchomienie wciąż wymaga wykonania dodatkowych kroków konfiguracyjnych po instalacji (np. konfiguracja plików kontrolnych &lt;code&gt;systemd&lt;/code&gt; użytkownika i sterowników sieciowych &lt;code&gt;slirp4netns&lt;/code&gt;), podczas gdy Podman jest zaprojektowany z myślą o trybie rootless jako domyślnym od pierwszej sekundy po instalacji.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;3-kompatybilnosc-z-docker-compose-i-cli&quot;&gt;3. Kompatybilność z Docker Compose i CLI &lt;/h2&gt;
&lt;p&gt;Twórcy Podmana zadbali o to, by przejście z Dockera było jak najprostsze. Większość poleceń jest identyczna, dzięki czemu możesz bez problemu ustawić alias w swoim terminalu:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;alias docker=podman
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;co-z-plikami-docker-compose&quot;&gt;Co z plikami Docker Compose? &lt;/h3&gt;
&lt;p&gt;W przeszłości Podman nie obsługiwał plików &lt;code&gt;docker-compose.yml&lt;/code&gt;, ponieważ narzędzie Docker Compose wymaga stałego kontaktu z gniazdem demona Dockera (&lt;code&gt;/var/run/docker.sock&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;Dziś Podman rozwiązuje ten problem na dwa sposoby:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Podman Compose:&lt;/strong&gt; Alternatywne narzędzie w języku Python interpretujące pliki konfiguracyjne compose.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Emulacja gniazda Docker:&lt;/strong&gt; Usługa systemd (&lt;code&gt;podman.socket&lt;/code&gt;), która udaje gniazdo Dockera, pozwalając na korzystanie z oficjalnego narzędzia Docker Compose.&lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;# Włączenie gniazda emulacji dla użytkownika
systemctl --user enable --now podman.socket
export DOCKER_HOST=&amp;quot;unix://$XDG_RUNTIME_DIR/podman/podman.sock&amp;quot;
docker-compose up -d
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Wskazówka dot. kompatybilności:&lt;/strong&gt; Choć emulacja gniazda w Podmanie działa świetnie dla większości standardowych konfiguracji wielokontenerowych, to najbardziej zaawansowane systemy (takie jak reverse proxy Traefik czy panele typu Portainer), które wymagają stałego dostępu do gniazda &lt;code&gt;/var/run/docker.sock&lt;/code&gt; do odczytu metadanych kontenerów w czasie rzeczywistym, wciąż działają stabilniej i bezproblemowo na natywnym Dockerze.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;4-integracja-z-systemd&quot;&gt;4. Integracja z Systemd &lt;/h2&gt;
&lt;p&gt;Ponieważ Podman nie posiada centralnego demona, który automatycznie uruchamiałby kontenery po resecie VPS (odpowiednik Dockerowego &lt;code&gt;restart: always&lt;/code&gt;), deleguje to zadanie do domyślnego menedżera systemu operacyjnego: &lt;strong&gt;Systemd&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Podman potrafi automatycznie wygenerować pliki usług systemd dla Twoich kontenerów:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;podman generate systemd --name moja-aplikacja --files
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Pozwala to zarządzać cyklem życia kontenera tak samo, jak każdą inną usługą systemową:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;systemctl --user enable --now container-moja-aplikacja.service
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;5-wydajnosc-w-praktyce-benchmarki&quot;&gt;5. Wydajność w praktyce: Benchmarki &lt;/h2&gt;
&lt;p&gt;Aby wyjść poza teoretyczne porównania, przeprowadziliśmy serię testów wydajnościowych na maszynie &lt;strong&gt;VoxiHost Premium VPS&lt;/strong&gt; (2 vCPU, 4 GB RAM, Ubuntu 24.04 LTS). Porównaliśmy oficjalne wydanie Docker Engine v26.1.0 oraz Podman v4.9.4 w trybie rootless. Wyniki są średnią z trzech prób.&lt;/p&gt;
&lt;h3 id=&quot;tabela-wynikow-testow&quot;&gt;Tabela wyników testów &lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:left&quot;&gt;Metryka / Test&lt;/th&gt;
&lt;th style=&quot;text-align:left&quot;&gt;Docker&lt;/th&gt;
&lt;th style=&quot;text-align:left&quot;&gt;Podman (Rootless)&lt;/th&gt;
&lt;th style=&quot;text-align:left&quot;&gt;Zwycięzca&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Czas pobierania obrazu&lt;/strong&gt; (&lt;code&gt;postgres:16&lt;/code&gt; - ok. 450 MB)&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;12,4 s&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;11,2 s&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Podman&lt;/strong&gt; (Lekka przewaga)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Czas budowania obrazu&lt;/strong&gt; (Aplikacja Node.js + NPM)&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;48,2 s&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;53,6 s&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Docker&lt;/strong&gt; (Szybszy cache BuildKit)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Zużycie RAM (Spoczynek)&lt;/strong&gt; (Bez kontenerów)&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;~75 MB&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;~25 MB&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Podman&lt;/strong&gt; (Brak demona w tle)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Zużycie RAM (50 kontenerów Nginx)&lt;/strong&gt; (Idle)&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;~320 MB&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;~460 MB&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Docker&lt;/strong&gt; (Mniejszy narzut na kontener)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&quot;kluczowe-wnioski-z-testow&quot;&gt;Kluczowe wnioski z testów: &lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Zużycie pamięci w spoczynku:&lt;/strong&gt; Podman wygrywa, gdy nie uruchamiamy żadnych aplikacji. Ponieważ nie ma demona działającego stale w tle, nie zużywa on niemal żadnych zasobów systemowych.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Skalowanie do wielu kontenerów:&lt;/strong&gt; Przy uruchomieniu 50 kontenerów Docker okazuje się bardziej wydajny pamięciowo. W trybie rootless Podman musi uruchomić dla każdego kontenera osobne procesy monitorujące (&lt;code&gt;conmon&lt;/code&gt;) oraz procesy sieciowe (&lt;code&gt;slirp4netns&lt;/code&gt;), co przy dużej skali generuje narzut pamięciowy rosnący liniowo.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Budowanie obrazów:&lt;/strong&gt; Docker i jego silnik BuildKit wciąż posiadają najszybszy mechanizm buforowania i wykonywania instrukcji w plikach Dockerfile. Podman (używający biblioteki &lt;code&gt;buildah&lt;/code&gt;) jest minimalnie wolniejszy, ale buduje obrazy w pełni bezpiecznie w przestrzeni użytkownika.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;6-tabela-porownawcza&quot;&gt;6. Tabela porównawcza &lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:left&quot;&gt;Cecha&lt;/th&gt;
&lt;th style=&quot;text-align:left&quot;&gt;Docker&lt;/th&gt;
&lt;th style=&quot;text-align:left&quot;&gt;Podman&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Architektura&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Oparta na demonie (&lt;code&gt;dockerd&lt;/code&gt;)&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Brak demona (bezpośrednie uruchomienie OCI)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Uprawnienia roota&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Wymagane dla demona&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Opcjonalne (domyślnie tryb rootless)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Obsługa Podów (Pods)&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Brak (wymaga Kubernetes)&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Tak (pozwala grupować kontenery w Pody)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Docker Compose&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Natywne wsparcie&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Wsparcie przez emulację gniazda / podman-compose&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Integracja z Systemd&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Wymaga konfiguracji demona&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Natywne generowanie plików usług systemd&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;&lt;strong&gt;Poziom bezpieczeństwa&lt;/strong&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Umiarkowany (wymaga konfiguracji)&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Wysoki (pełna izolacja rootless na starcie)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;podsumowanie-ktory-silnik-wybrac&quot;&gt;Podsumowanie: Który silnik wybrać? &lt;/h2&gt;
&lt;h3 id=&quot;wybierz-dockera-jesli&quot;&gt;Wybierz Dockera, jeśli: &lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Używasz złożonych plików Docker Compose z zewnętrznymi narzędziami, które wymagają bezpośredniego połączenia z plikiem &lt;code&gt;/var/run/docker.sock&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Pracujesz w środowisku Kubernetes lub Swarm, gdzie integracje Docker API są już wstępnie skonfigurowane.&lt;/li&gt;
&lt;li&gt;Zależy Ci na najszerszym wsparciu społeczności przy rozwiązywaniu problemów.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;wybierz-podmana-jesli&quot;&gt;Wybierz Podmana, jeśli: &lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bezpieczeństwo jest dla Ciebie priorytetem i chcesz izolować uruchomione aplikacje bez nadawania im uprawnień roota.&lt;/li&gt;
&lt;li&gt;Uruchamiasz pojedyncze aplikacje webowe lub bazy danych na wydajnym serwerze &lt;a href=&quot;https://voxihost.pl/pl/vps/premium/&quot;&gt;Premium VPS&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Chcesz w pełni zintegrować kontenery z systemd w celu automatycznego uruchamiania i wygodnego logowania procesów.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Oba te rozwiązania działają sprawnie na maszynach typu &lt;a href=&quot;https://voxihost.pl/pl/vps/budget/&quot;&gt;Budget VPS&lt;/a&gt; oraz &lt;a href=&quot;https://voxihost.pl/pl/vps/premium/&quot;&gt;Premium VPS&lt;/a&gt; w &lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt;.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Jak założyć serwer TeamSpeak 3 na Ubuntu i Debian</title>
    <link href="https://voxihost.pl/pl/guides/jak-zalozyc-serwer-teamspeak-3-ubuntu-debian/" rel="alternate"/>
    <published>2026-06-16T00:00:00Z</published>
    <updated>2026-06-16T00:00:00Z</updated>
    <id>https://voxihost.pl/pl/guides/jak-zalozyc-serwer-teamspeak-3-ubuntu-debian/</id>
    <summary type="text">Kompletny poradnik krok po kroku, z którego dowiesz się, jak zainstalować, skonfigurować i zabezpieczyć własny serwer TeamSpeak 3 na swoim VPS.</summary>
    <category term="Poradniki"/>
    <content xml:lang="pl" type="html">&lt;p&gt;TeamSpeak 3 to od wielu lat jeden z najbardziej niezawodnych i stabilnych komunikatorów głosowych dla graczy oraz społeczności internetowych. Stawiając własny serwer na VPS zyskujesz pełną kontrolę, prywatność oraz niezależność od zewnętrznych dostawców.&lt;/p&gt;
&lt;p&gt;Z tego poradnika dowiesz się, jak prawidłowo zainstalować i zabezpieczyć własny serwer TeamSpeak 3 na systemie Ubuntu lub Debian.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Wymagania wstępne:&lt;/strong&gt; Przed rozpoczęciem upewnij się, że posiadasz &lt;a href=&quot;https://voxihost.pl/pl/vps/premium/&quot;&gt;serwer VPS z systemem Ubuntu lub Debian&lt;/a&gt;, dostęp SSH oraz użytkownika z uprawnieniami &lt;code&gt;sudo&lt;/code&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;krok-1-aktualizacja-systemu&quot;&gt;Krok 1: Aktualizacja systemu &lt;/h2&gt;
&lt;p&gt;Zacznijmy od odświeżenia listy pakietów oraz instalacji niezbędnych narzędzi (&lt;code&gt;wget&lt;/code&gt; do pobierania plików, &lt;code&gt;bzip2&lt;/code&gt; do rozpakowywania archiwum):&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/uFpVpBObEg-400.avif 400w, https://voxihost.pl/assets/images/generated/uFpVpBObEg-800.avif 800w, https://voxihost.pl/assets/images/generated/uFpVpBObEg-1391.avif 1391w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/uFpVpBObEg-400.webp 400w, https://voxihost.pl/assets/images/generated/uFpVpBObEg-800.webp 800w, https://voxihost.pl/assets/images/generated/uFpVpBObEg-1391.webp 1391w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/uFpVpBObEg-400.jpeg&quot; alt=&quot;Aktualizacja systemu i instalacja wget oraz bzip2 na Ubuntu&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1391&quot; height=&quot;348&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/uFpVpBObEg-400.jpeg 400w, https://voxihost.pl/assets/images/generated/uFpVpBObEg-800.jpeg 800w, https://voxihost.pl/assets/images/generated/uFpVpBObEg-1391.jpeg 1391w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y
sudo apt install wget bzip2 -y
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;krok-2-tworzenie-dedykowanego-uzytkownika&quot;&gt;Krok 2: Tworzenie dedykowanego użytkownika &lt;/h2&gt;
&lt;p&gt;Ze względów bezpieczeństwa żadna usługa dostępna publicznie nie powinna być uruchamiana z konta &lt;code&gt;root&lt;/code&gt;. Stwórzmy nowego użytkownika dedykowanego specjalnie dla serwera TeamSpeak:&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/Vkp8H_x2eR-400.avif 400w, https://voxihost.pl/assets/images/generated/Vkp8H_x2eR-577.avif 577w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/Vkp8H_x2eR-400.webp 400w, https://voxihost.pl/assets/images/generated/Vkp8H_x2eR-577.webp 577w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/Vkp8H_x2eR-400.jpeg&quot; alt=&quot;Tworzenie użytkownika systemowego teamspeak&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;577&quot; height=&quot;55&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/Vkp8H_x2eR-400.jpeg 400w, https://voxihost.pl/assets/images/generated/Vkp8H_x2eR-577.jpeg 577w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo adduser --disabled-password --gecos &amp;quot;&amp;quot; teamspeak
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Zaloguj się teraz na to nowo utworzone konto:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo su - teamspeak
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;krok-3-pobieranie-i-rozpakowywanie-teamspeak-3&quot;&gt;Krok 3: Pobieranie i rozpakowywanie TeamSpeak 3 &lt;/h2&gt;
&lt;p&gt;Kolejnym krokiem jest pobranie plików serwerowych. Najnowszą wersję znajdziesz zawsze na &lt;a href=&quot;https://teamspeak.com/en/downloads/#server&quot;&gt;oficjalnej stronie pobierania TeamSpeak&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/hJYATVp0Oq-400.avif 400w, https://voxihost.pl/assets/images/generated/hJYATVp0Oq-800.avif 800w, https://voxihost.pl/assets/images/generated/hJYATVp0Oq-1600.avif 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/hJYATVp0Oq-400.webp 400w, https://voxihost.pl/assets/images/generated/hJYATVp0Oq-800.webp 800w, https://voxihost.pl/assets/images/generated/hJYATVp0Oq-1600.webp 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/hJYATVp0Oq-400.jpeg&quot; alt=&quot;Pobieranie plików serwerowych TeamSpeak 3&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1600&quot; height=&quot;200&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/hJYATVp0Oq-400.jpeg 400w, https://voxihost.pl/assets/images/generated/hJYATVp0Oq-800.jpeg 800w, https://voxihost.pl/assets/images/generated/hJYATVp0Oq-1600.jpeg 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;wget https://files.teamspeak-services.com/releases/server/3.13.8/teamspeak3-server_linux_amd64-3.13.8.tar.bz2
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Rozpakuj pobrane archiwum i przenieś pliki bezpośrednio do katalogu domowego, aby zachować porządek, po czym usuń zbędne puste foldery:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;tar xvf teamspeak3-server_linux_amd64-3.13.8.tar.bz2
mv teamspeak3-server_linux_amd64/* .
rm -rf teamspeak3-server_linux_amd64 teamspeak3-server_linux_amd64-3.13.8.tar.bz2
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;krok-4-akceptacja-licencji-eula&quot;&gt;Krok 4: Akceptacja licencji (EULA) &lt;/h2&gt;
&lt;p&gt;Serwer TeamSpeak 3 nie uruchomi się, dopóki nie zaakceptujesz warunków umowy EULA. Robi się to w bardzo prosty sposób, tworząc pusty plik o nazwie &lt;code&gt;.ts3server_license_accepted&lt;/code&gt;:&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/t1gupWe6QH-400.avif 400w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/t1gupWe6QH-400.webp 400w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/t1gupWe6QH-400.jpeg&quot; alt=&quot;Akceptacja warunków licencji TeamSpeak 3&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;400&quot; height=&quot;41&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;touch .ts3server_license_accepted
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;krok-5-pierwsze-uruchomienie-i-privilege-key&quot;&gt;Krok 5: Pierwsze uruchomienie i Privilege Key &lt;/h2&gt;
&lt;p&gt;To &lt;strong&gt;niezwykle ważny&lt;/strong&gt; krok. Musimy uruchomić serwer ręcznie, ponieważ przy pierwszym starcie konsola wygeneruje klucz uprawnień (&lt;strong&gt;Privilege Key&lt;/strong&gt;) oraz dane do ServerQuery. Klucz ten będzie Ci potrzebny, aby zdobyć uprawnienia administratora w swoim kliencie TS3.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/C6JlB5-91I-400.avif 400w, https://voxihost.pl/assets/images/generated/C6JlB5-91I-553.avif 553w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/C6JlB5-91I-400.webp 400w, https://voxihost.pl/assets/images/generated/C6JlB5-91I-553.webp 553w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/C6JlB5-91I-400.jpeg&quot; alt=&quot;Ręczne uruchomienie serwera TS3, aby wygenerować klucz uprawnień&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;553&quot; height=&quot;341&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/C6JlB5-91I-400.jpeg 400w, https://voxihost.pl/assets/images/generated/C6JlB5-91I-553.jpeg 553w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;./ts3server_startscript.sh start
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Skopiuj &lt;code&gt;Privilege Key&lt;/code&gt; oraz &lt;code&gt;ServerAdmin password&lt;/code&gt; i zapisz je w bezpiecznym miejscu!&lt;/p&gt;
&lt;p&gt;Kiedy już to zrobisz, wyłącz serwer, ponieważ za chwilę skonfigurujemy go tak, aby działał jako usługa systemowa w tle:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;./ts3server_startscript.sh stop
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;krok-6-konfiguracja-uslugi-systemd&quot;&gt;Krok 6: Konfiguracja usługi Systemd &lt;/h2&gt;
&lt;p&gt;Profesjonalnie postawiony serwer powinien uruchamiać się automatycznie w tle i wstawać samodzielnie po restarcie maszyny. Wyloguj się z konta &lt;code&gt;teamspeak&lt;/code&gt;, powracając na swoje główne konto (&lt;code&gt;sudo&lt;/code&gt;):&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;exit
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Teraz stwórz nowy plik usługi dla systemd:&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/wR-ZjzOECW-400.avif 400w, https://voxihost.pl/assets/images/generated/wR-ZjzOECW-800.avif 800w, https://voxihost.pl/assets/images/generated/wR-ZjzOECW-1028.avif 1028w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/wR-ZjzOECW-400.webp 400w, https://voxihost.pl/assets/images/generated/wR-ZjzOECW-800.webp 800w, https://voxihost.pl/assets/images/generated/wR-ZjzOECW-1028.webp 1028w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/wR-ZjzOECW-400.jpeg&quot; alt=&quot;Tworzenie usługi systemd dla serwera TeamSpeak&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1028&quot; height=&quot;296&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/wR-ZjzOECW-400.jpeg 400w, https://voxihost.pl/assets/images/generated/wR-ZjzOECW-800.jpeg 800w, https://voxihost.pl/assets/images/generated/wR-ZjzOECW-1028.jpeg 1028w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo nano /etc/systemd/system/teamspeak.service
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wklej do edytora poniższą konfigurację:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[Unit]
Description=TeamSpeak 3 Server
After=network.target

[Service]
WorkingDirectory=/home/teamspeak
User=teamspeak
Group=teamspeak
Type=forking
ExecStart=/home/teamspeak/ts3server_startscript.sh start inifile=ts3server.ini
ExecStop=/home/teamspeak/ts3server_startscript.sh stop
PIDFile=/home/teamspeak/ts3server.pid
RestartSec=15
Restart=always

[Install]
WantedBy=multi-user.target
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Zapisz plik i zamknij edytor (&lt;code&gt;CTRL + O&lt;/code&gt;, &lt;code&gt;ENTER&lt;/code&gt;, &lt;code&gt;CTRL + X&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;Przeładuj konfigurację systemd, włącz uruchamianie przy starcie systemu i wystartuj serwer TeamSpeak:&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/vKZsoYoFSM-400.avif 400w, https://voxihost.pl/assets/images/generated/vKZsoYoFSM-800.avif 800w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/vKZsoYoFSM-400.webp 400w, https://voxihost.pl/assets/images/generated/vKZsoYoFSM-800.webp 800w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/vKZsoYoFSM-400.jpeg&quot; alt=&quot;Aktywacja i startowanie usługi TeamSpeak w tle&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;800&quot; height=&quot;74&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/vKZsoYoFSM-400.jpeg 400w, https://voxihost.pl/assets/images/generated/vKZsoYoFSM-800.jpeg 800w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo systemctl daemon-reload
sudo systemctl enable teamspeak
sudo systemctl start teamspeak
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Możesz zweryfikować, czy usługa działa poprawnie, używając polecenia:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sudo systemctl status teamspeak
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;podsumowanie&quot;&gt;Podsumowanie &lt;/h2&gt;
&lt;p&gt;Gratulacje! Twój serwer TeamSpeak 3 właśnie wystartował i działa poprawnie.&lt;/p&gt;
&lt;p&gt;Uruchom teraz swój program TeamSpeak 3 na komputerze i połącz się ze swoim serwerem wpisując adres IP VPS-a. Pojawi się okienko z prośbą o podanie klucza. Wklej tam &lt;strong&gt;Privilege Key&lt;/strong&gt;, który skopiowałeś w Kroku 5, aby błyskawicznie stać się Administratorem Serwera.&lt;/p&gt;
&lt;h3 id=&quot;kolejne-kroki&quot;&gt;Kolejne kroki &lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Jeśli posiadasz aktywny firewall (zaporę sieciową), musisz otworzyć dla TeamSpeaka porty. Sprawdź nasz poradnik, &lt;a href=&quot;https://voxihost.pl/pl/guides/konfiguracja-ufw-ubuntu-debian/&quot;&gt;jak skonfigurować UFW&lt;/a&gt;. TeamSpeak wymaga portów &lt;code&gt;9987/udp&lt;/code&gt; (Głos), &lt;code&gt;10011/tcp&lt;/code&gt; (ServerQuery) oraz &lt;code&gt;30033/tcp&lt;/code&gt; (Transfer plików).&lt;/li&gt;
&lt;li&gt;Szukasz serwera, który zniesie duże zloty graczy i uchroni Cię przed atakami? Sprawdź &lt;a href=&quot;https://voxihost.pl/pl/vps/budget/&quot;&gt;tani hosting VPS na godziny&lt;/a&gt;, a jeśli grasz profesjonalnie - postaw na niezawodność z &lt;a href=&quot;https://voxihost.pl/pl/shield/&quot;&gt;VoxiShield&lt;/a&gt; i wybierz serwer w ofercie &lt;a href=&quot;https://voxihost.pl/pl/vps/premium/&quot;&gt;Premium VPS&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>Jak zainstalować Nextcloud na serwerze VPS za pomocą Docker Compose</title>
    <link href="https://voxihost.pl/pl/guides/instalacja-nextcloud-vps-docker-compose/" rel="alternate"/>
    <published>2026-06-15T00:00:00Z</published>
    <updated>2026-06-15T00:00:00Z</updated>
    <id>https://voxihost.pl/pl/guides/instalacja-nextcloud-vps-docker-compose/</id>
    <summary type="text">Dowiedz się, jak uruchomić własną, prywatną chmurę Nextcloud na serwerze VPS przy użyciu Docker Compose i bazy MariaDB, bez płacenia abonamentów.</summary>
    <category term="Poradniki"/>
    <content xml:lang="pl" type="html">&lt;h2 id=&quot;wstep&quot;&gt;Wstęp &lt;/h2&gt;
&lt;p&gt;Masz dość płacenia abonamentów za Google Drive, Dropboxa czy iCloud? Posiadając serwer VPS, możesz z łatwością stworzyć własną, całkowicie prywatną chmurę na pliki korzystając z &lt;strong&gt;Nextcloud&lt;/strong&gt;. To potężna platforma open-source, która pozwala na przechowywanie plików, synchronizację kontaktów i kalendarzy, dając Ci 100% kontroli nad własnymi danymi.&lt;/p&gt;
&lt;p&gt;W tym poradniku uruchomimy Nextcloud za pomocą &lt;strong&gt;Docker Compose&lt;/strong&gt;, co gwarantuje czystą, odizolowaną i łatwą w zarządzaniu instalację.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Wymagania wstępne:&lt;/strong&gt; Potrzebujesz serwera VPS z systemem Linux, dostępu SSH z kontem użytkownika z uprawnieniami &lt;code&gt;sudo&lt;/code&gt; oraz zainstalowanego Dockera z Docker Compose. Jeśli jeszcze tego nie zrobiłeś, sprawdź nasz &lt;a href=&quot;https://voxihost.pl/pl/guides/jak-skonfigurowac-docker-compose/&quot;&gt;poradnik konfiguracji Docker Compose&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;krok-1-wymagania-wstepne&quot;&gt;Krok 1: Wymagania wstępne &lt;/h2&gt;
&lt;p&gt;Zanim zaczniemy, upewnij się, że na Twoim VPS zainstalowany jest Docker oraz Docker Compose. Jeśli jeszcze tego nie zrobiłeś, sprawdź nasz &lt;a href=&quot;https://voxihost.pl/pl/guides/jak-skonfigurowac-docker-compose/&quot;&gt;poradnik o podstawach Docker Compose&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Sprawdź, czy narzędzia są poprawnie zainstalowane:&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/V7nByhahwl-341.avif 341w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/V7nByhahwl-341.webp 341w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/V7nByhahwl-341.jpeg&quot; alt=&quot;Weryfikacja wersji Docker Compose w terminalu&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;341&quot; height=&quot;60&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;docker compose version
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;krok-2-przygotowanie-srodowiska&quot;&gt;Krok 2: Przygotowanie środowiska &lt;/h2&gt;
&lt;p&gt;Potrzebujemy wydzielonego katalogu na pliki konfiguracyjne oraz dane chmury.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;mkdir ~/nextcloud-server
cd ~/nextcloud-server
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Teraz utwórzmy plik &lt;code&gt;docker-compose.yml&lt;/code&gt;:&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/j9Qu0y9mcN-400.avif 400w, https://voxihost.pl/assets/images/generated/j9Qu0y9mcN-800.avif 800w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/j9Qu0y9mcN-400.webp 400w, https://voxihost.pl/assets/images/generated/j9Qu0y9mcN-800.webp 800w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/j9Qu0y9mcN-400.jpeg&quot; alt=&quot;Otwieranie pliku docker-compose.yml w edytorze nano&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;800&quot; height=&quot;414&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/j9Qu0y9mcN-400.jpeg 400w, https://voxihost.pl/assets/images/generated/j9Qu0y9mcN-800.jpeg 800w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;nano docker-compose.yml
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Wklej poniższą konfigurację. Uruchamia ona oficjalny obraz Nextcloud oraz osobną bazę danych MariaDB dla optymalnej wydajności.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;services:
  db:
    image: mariadb:latest
    restart: always
    command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
    volumes:
      - db_data:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=twoje_silne_haslo_root
      - MYSQL_PASSWORD=twoje_silne_haslo_bazy
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

  app:
    image: nextcloud
    restart: always
    ports:
      - 8080:80
    links:
      - db
    volumes:
      - nextcloud_data:/var/www/html
    environment:
      - MYSQL_PASSWORD=twoje_silne_haslo_bazy
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=db

volumes:
  db_data:
  nextcloud_data:
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;em&gt;Uwaga: Pamiętaj, aby przed zapisaniem zmienić &lt;code&gt;twoje_silne_haslo_root&lt;/code&gt; i &lt;code&gt;twoje_silne_haslo_bazy&lt;/code&gt; na prawdziwe, bezpieczne hasła.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Zapisz plik i wyjdź z edytora (&lt;code&gt;CTRL+X&lt;/code&gt;, następnie &lt;code&gt;Y&lt;/code&gt; i &lt;code&gt;Enter&lt;/code&gt;).&lt;/p&gt;
&lt;h2 id=&quot;krok-3-uruchomienie-nextcloud&quot;&gt;Krok 3: Uruchomienie Nextcloud &lt;/h2&gt;
&lt;p&gt;Gdy konfiguracja jest gotowa, możemy uruchomić naszą chmurę. Wykonaj poniższe polecenie:&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/ARwZSyPL31-400.avif 400w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/ARwZSyPL31-400.webp 400w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/ARwZSyPL31-400.jpeg&quot; alt=&quot;Uruchamianie kontenerów Nextcloud komendą docker compose up -d&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;400&quot; height=&quot;94&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;docker compose up -d
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Docker automatycznie pobierze wymagane obrazy i uruchomi serwisy w tle. Może to potrwać dłuższą chwilę.&lt;/p&gt;
&lt;p&gt;Gdy proces się zakończy, otwórz przeglądarkę internetową i wejdź na adres IP swojego serwera z dopiskiem portu 8080:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;http://ip_twojego_serwera:8080&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/4L2IUMittW-400.avif 400w, https://voxihost.pl/assets/images/generated/4L2IUMittW-699.avif 699w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/4L2IUMittW-400.webp 400w, https://voxihost.pl/assets/images/generated/4L2IUMittW-699.webp 699w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/4L2IUMittW-400.jpeg&quot; alt=&quot;Ekran pierwszej konfiguracji Nextcloud w przeglądarce&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;699&quot; height=&quot;693&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/4L2IUMittW-400.jpeg 400w, https://voxihost.pl/assets/images/generated/4L2IUMittW-699.jpeg 699w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;p&gt;Pojawi się instalator Nextcloud. Utwórz konto administratora. Nextcloud automatycznie połączy się z bazą danych MariaDB, którą zdefiniowaliśmy w pliku konfiguracyjnym.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;podsumowanie&quot;&gt;Podsumowanie &lt;/h2&gt;
&lt;p&gt;Gratulacje! Twoja prywatna chmura Nextcloud działa teraz bezpiecznie w kontenerach Docker na Twoim serwerze VPS. Pliki przechowywane są wyłącznie na Twoim sprzęcie, całkowicie bez abonamentów i bez dostępu osób trzecich do Twoich danych.&lt;/p&gt;
&lt;p&gt;W następnym kroku zalecamy umieszczenie Nextcloud za własną domeną z bezpłatnym certyfikatem HTTPS, używając &lt;a href=&quot;https://voxihost.pl/pl/guides/konfiguracja-nginx-proxy-manager-vps/&quot;&gt;Nginx Proxy Manager&lt;/a&gt;, dzięki czemu Twoja chmura będzie dostępna z każdego miejsca po szyfrowanym adresie.&lt;/p&gt;
&lt;p&gt;Jeśli potrzebujesz niezawodnego serwera do hostowania swojej prywatnej chmury, sprawdź nasze &lt;a href=&quot;https://voxihost.pl/pl/vps/premium/&quot;&gt;plany Premium VPS&lt;/a&gt; lub &lt;a href=&quot;https://voxihost.pl/pl/vps/budget/&quot;&gt;Budget VPS&lt;/a&gt;, które oferują szybkie dyski NVMe SSD i wysoką przepustowość sieci.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>13 Czerwca 2026: VoxiHost DevBlog</title>
    <link href="https://voxihost.pl/pl/blog/devblog-13-czerwca-2026/" rel="alternate"/>
    <published>2026-06-13T00:00:00Z</published>
    <updated>2026-06-13T00:00:00Z</updated>
    <id>https://voxihost.pl/pl/blog/devblog-13-czerwca-2026/</id>
    <summary type="text">Nowa aktualizacja platformy! Przechodzimy z vPLN na Kredyty (Credits), wprowadzamy obsługę wielu walut (PLN, USD, EUR), przeprojektowany panel płatności oraz nowy widget &#39;Co nowego&#39; w pasku bocznym.</summary>
    <category term="Nowości"/>
    <content xml:lang="pl" type="html">&lt;p&gt;Najnowsze aktualizacje naszej platformy są już dostępne od &lt;strong&gt;13 czerwca 2026 r.&lt;/strong&gt; w &lt;strong&gt;&lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt;&lt;/strong&gt;. Zależy nam na tym, aby nasze usługi hostingu w chmurze były bardziej dostępne, globalne i przyjazne dla użytkowników. W tym wydaniu skupiliśmy się na gruntownej przebudowie naszych systemów walutowych i rozliczeniowych, a także na drobnych poprawkach panelu, które pomogą Ci być na bieżąco ze wszystkimi nowymi funkcjami platformy.&lt;/p&gt;
&lt;p&gt;Od kompletnej zmiany waluty platformy po natywną obsługę płatności wielowalutowych - oto wszystko, co wdrożyliśmy w ciągu ostatnich kilku tygodni.&lt;/p&gt;
&lt;h2 id=&quot;1-przejscie-na-kredyty-i-obsluga-wielu-walut&quot;&gt;1. Przejście na Kredyty i obsługa wielu walut &lt;/h2&gt;
&lt;p&gt;Aby lepiej służyć naszej rosnącej bazie międzynarodowych użytkowników, przechodzimy z vPLN na &lt;strong&gt;Kredyty (Credits)&lt;/strong&gt;. Ta zmiana kładzie podwaliny pod naszą globalną ekspansję, zapewniając spójne rozliczenia niezależnie od tego, skąd hostujesz swoje serwery.&lt;/p&gt;
&lt;p&gt;Wraz z tym rebrandingiem z dumą wprowadzamy natywną &lt;strong&gt;obsługę wielu walut&lt;/strong&gt;. Możesz teraz wybrać preferowaną walutę rozliczeniową spośród &lt;strong&gt;PLN, USD lub EUR&lt;/strong&gt;. Płacąc w lokalnej walucie, możesz całkowicie uniknąć opłat za przewalutowanie banku i cieszyć się bardziej przejrzystym procesem płatności.&lt;/p&gt;
&lt;h2 id=&quot;2-przyjazne-dla-uzytkownika-pakiety-kredytow&quot;&gt;2. Przyjazne dla użytkownika pakiety kredytów &lt;/h2&gt;
&lt;p&gt;Kredyty są powiązane z PLN w prostym stosunku 1:1 (&lt;strong&gt;1 Kredyt = 1 PLN&lt;/strong&gt;), aby wszystko było jasne i czytelne. Aby zakupić kredyty, możesz wybrać jeden z przygotowanych przez nas pakietów, które zostały zoptymalizowane w taki sposób, aby oferować jak najlepszą wartość dla każdej waluty.&lt;/p&gt;
&lt;p&gt;Oto pakiety dostępne dla każdej waluty (z wyłączeniem dodatkowych bonusów promocyjnych):&lt;/p&gt;
&lt;h3 id=&quot;pakiety-pln&quot;&gt;Pakiety PLN &lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:left&quot;&gt;Cena&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Kredyty bazowe&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Bonusowe kredyty&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Kredyty łącznie&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;15.00 PLN&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;15.00&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;-&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;15.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;30.00 PLN&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;30.00&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;-&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;30.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;50.00 PLN&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;50.00&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;-&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;50.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;100.00 PLN&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;100.00&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;-&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;100.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;250.00 PLN&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;250.00&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5.00&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;255.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;500.00 PLN&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;500.00&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;20.00&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;520.00&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&quot;pakiety-eur&quot;&gt;Pakiety EUR &lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:left&quot;&gt;Cena&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Kredyty bazowe&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Bonusowe kredyty&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Kredyty łącznie&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;5.00 EUR&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;20.00&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;-&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;20.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;10.00 EUR&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;42.00&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;-&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;42.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;20.00 EUR&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;85.00&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;-&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;85.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;50.00 EUR&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;210.00&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5.00&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;215.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;100.00 EUR&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;420.00&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;20.00&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;440.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;250.00 EUR&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1050.00&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;50.00&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1100.00&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&quot;pakiety-usd&quot;&gt;Pakiety USD &lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:left&quot;&gt;Cena&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Kredyty bazowe&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Bonusowe kredyty&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Kredyty łącznie&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;5.00 USD&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;20.00&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;-&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;20.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;10.00 USD&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;40.00&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;-&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;40.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;20.00 USD&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;80.00&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;-&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;80.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;50.00 USD&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;200.00&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5.00&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;205.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;100.00 USD&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;400.00&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;20.00&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;420.00&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;250.00 USD&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1000.00&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;50.00&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1050.00&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&quot;3-specjalna-promocja-na-start-kod-credits&quot;&gt;3. Specjalna promocja na start: Kod „CREDITS” &lt;/h2&gt;
&lt;p&gt;Aby uczcić to wdrożenie, przygotowaliśmy dla Was wyjątkową promocję!&lt;/p&gt;
&lt;p&gt;Użyj kodu rabatowego &lt;strong&gt;&lt;code&gt;CREDITS&lt;/code&gt;&lt;/strong&gt; podczas składania zamówienia na dowolny miesięczny serwer VPS, aby otrzymać aż &lt;strong&gt;45% rabatu&lt;/strong&gt; na pierwszy miesiąc.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/tjkiF4u8ZI-400.avif 400w, https://voxihost.pl/assets/images/generated/tjkiF4u8ZI-800.avif 800w, https://voxihost.pl/assets/images/generated/tjkiF4u8ZI-1080.avif 1080w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/tjkiF4u8ZI-400.webp 400w, https://voxihost.pl/assets/images/generated/tjkiF4u8ZI-800.webp 800w, https://voxihost.pl/assets/images/generated/tjkiF4u8ZI-1080.webp 1080w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/tjkiF4u8ZI-400.jpeg&quot; alt=&quot;Banner promocyjny VoxiHost prezentujący kod rabatowy CREDITS z 45-procentową zniżką&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1080&quot; height=&quot;1080&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/tjkiF4u8ZI-400.jpeg 400w, https://voxihost.pl/assets/images/generated/tjkiF4u8ZI-800.jpeg 800w, https://voxihost.pl/assets/images/generated/tjkiF4u8ZI-1080.jpeg 1080w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Ważna informacja:&lt;/strong&gt; Promocja jest ograniczona czasowo i wygasa &lt;strong&gt;15 czerwca 2026 r.&lt;/strong&gt; o godzinie 23:59. Nie zwlekaj!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;4-przeprojektowany-i-uproszczony-panel-platnosci&quot;&gt;4. Przeprojektowany i uproszczony panel płatności &lt;/h2&gt;
&lt;p&gt;Wraz z tymi zmianami całkowicie przebudowaliśmy naszą stronę płatności (Billing) od podstaw. Nowy interfejs jest czysty, intuicyjny i bardzo przejrzysty. Możesz łatwo przełączać się między walutami, sprawdzać aktualne saldo kredytów, wybrać pożądany pakiet i bezproblemowo dokonać płatności.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/5YQ5I9LJyD-400.avif 400w, https://voxihost.pl/assets/images/generated/5YQ5I9LJyD-800.avif 800w, https://voxihost.pl/assets/images/generated/5YQ5I9LJyD-1600.avif 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/5YQ5I9LJyD-400.webp 400w, https://voxihost.pl/assets/images/generated/5YQ5I9LJyD-800.webp 800w, https://voxihost.pl/assets/images/generated/5YQ5I9LJyD-1600.webp 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/5YQ5I9LJyD-400.jpeg&quot; alt=&quot;Panel VoxiHost pokazujący przeprojektowaną stronę płatności z pakietami kredytów i wyborem walut&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;1600&quot; height=&quot;710&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/5YQ5I9LJyD-400.jpeg 400w, https://voxihost.pl/assets/images/generated/5YQ5I9LJyD-800.jpeg 800w, https://voxihost.pl/assets/images/generated/5YQ5I9LJyD-1600.jpeg 1600w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;h2 id=&quot;5-badz-na-biezaco-sekcja-co-nowego-w-pasku-bocznym&quot;&gt;5. Bądź na bieżąco: Sekcja &#39;Co nowego&#39; w pasku bocznym &lt;/h2&gt;
&lt;p&gt;Nieustannie wdrażamy aktualizacje, poprawki i nowe funkcje. Aby mieć pewność, że niczego nie przegapisz, zintegrowaliśmy nowy widget &lt;strong&gt;&#39;Co nowego&#39; (What&#39;s New)&lt;/strong&gt; bezpośrednio w pasku bocznym panelu.&lt;/p&gt;
&lt;p&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/UIbbamkrVZ-244.avif 244w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://voxihost.pl/assets/images/generated/UIbbamkrVZ-244.webp 244w&quot; sizes=&quot;(max-width: 768px) 100vw, 800px&quot; /&gt;&lt;img src=&quot;https://voxihost.pl/assets/images/generated/UIbbamkrVZ-244.jpeg&quot; alt=&quot;Pasek boczny panelu VoxiHost z nową sekcją Co Nowego i linkiem do changeloga&quot; onload=&quot;this.classList.remove(&#39;bg-zinc-900/50&#39;, &#39;animate-pulse&#39;)&quot; width=&quot;244&quot; height=&quot;247&quot; /&gt;&lt;/picture&gt;&lt;/p&gt;
&lt;p&gt;Za każdym razem, gdy wdrożymy aktualizacje, zobaczysz szybkie podświetlenie powiadomienia zachęcające do przeczytania naszego dziennika zmian (changelog). Dzięki temu odkrywanie nowych narzędzi i ulepszeń wprowadzanych na platformie jest łatwiejsze niż kiedykolwiek.&lt;/p&gt;
&lt;h2 id=&quot;6-ulepszenia-interfejsu-i-poprawki-mobilne&quot;&gt;6. Ulepszenia interfejsu i poprawki mobilne &lt;/h2&gt;
&lt;p&gt;Oprócz nowych funkcji, wprowadziliśmy kilka mniejszych usprawnień interfejsu użytkownika oraz poprawek układu strony, aby korzystanie z panelu na telefonach i tabletach było jeszcze wygodniejsze.&lt;/p&gt;
&lt;h2 id=&quot;co-dalej&quot;&gt;Co dalej? &lt;/h2&gt;
&lt;p&gt;Rebranding i wielowalutowość to duże kroki naprzęd, ale nie zamierzamy na tym poprzestać. Oficjalnie rozpoczęliśmy prace nad &lt;strong&gt;Zaporą Sieciową w Panelu (Dashboard Firewall)&lt;/strong&gt;, która pozwoli Ci zarządzać regułami bezpieczeństwa sieci bezpośrednio z panelu &lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Bądźcie czujni i jak zawsze - dziękujemy za wybranie &lt;strong&gt;&lt;span&gt;Voxi&lt;/span&gt;&lt;span&gt;Host&lt;/span&gt;&lt;/strong&gt;!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Gotowy sprawdzić nową stronę rozliczeń?&lt;/strong&gt; Zaloguj się do swojego &lt;strong&gt;&lt;a href=&quot;https://dashboard.voxihost.pl/&quot;&gt;Panelu&lt;/a&gt;&lt;/strong&gt; i sprawdź swoje aktywne usługi już dzisiaj!&lt;/p&gt;
</content>
  </entry>
</feed>
