W tym artykule dowiesz się, czym jest Proxmox i jak wykorzystać go do stworzenia własnego centrum hostingowego w domu, wykorzystując do tego celu dowolny komputer.

Czym jest Proxmox i co można na nim uruchomić?

Własny serwer nie musi oznaczać zakupu drogiej maszyny rackowej, wynajmowania miejsca w serwerowni ani wysokich rachunków za prąd. Do nauki, hostowania własnych aplikacji, stron internetowych czy różnych usług sieciowych często wystarczy niewielki, energooszczędny komputer, który będzie pracował przez całą dobę.

Za pomocą Proxmox możemy zamienić taki komputer w niewielkie centrum hostingowe, na którym będą działały niezależne maszyny wirtualne. Każda z nich może pełnić funkcję osobnego serwera VPS z własnym systemem operacyjnym, adresem IP i przeznaczeniem. Proxmox to platforma do wirtualizacji serwerów. Instaluje się ją bezpośrednio na fizycznym komputerze, a potem za pomocą panelu www można na nim tworzyć i zarządzać wieloma niezależnymi maszynami wirtualnymi.

Na jednym fizycznym komputerze możemy więc uruchomić przykładowo:

  • strony internetowe
  • bazy danych
  • VPN
  • własną chmurę plików
  • serwer GIT
  • i inne usługi, np. home assistant, serwer monitoring itd.

To co finalnie na nim zostanie uruchomione zależy już tylko od Twoich potrzeb (i od ew. zasobów komputera przeznaczonego pod serwer)

Jaki komputer do Proxmox na domowy serwer?

Jedną z największych zalet takiego rozwiązania jest to, że na początek nie potrzebujesz specjalistycznego sprzętu serwerowego.

Do utrzymania całego środowiska możesz wykorzystać na przykład:

  • laptopa,
  • Intel NUC lub podobny mini-pc,
  • komputer stacjonarny,
  • urządzenie ARM64, takie jak Raspberry Pi

W praktyce szczególnie dobrze sprawdzają się niewielkie komputery typu Mini PC. Zajmują mało miejsca, są ciche, a przy niewielkim obciążeniu potrafią pobierać bardzo mało energii.

Jeżeli serwer ma działać przez 24 godziny na dobę, zużycie energii powinno być jednym z ważniejszych parametrów przy wyborze sprzętu. Różnica pomiędzy komputerem pobierającym średnio 10 W a starszym komputerem stacjonarnym pobierającym 70–100 W może być w skali roku bardzo duża.

Minimalne wymagania sprzętowe do uruchomienia Proxmoxa są niewielkie, jednak w praktyce odpowiednia konfiguracja serwera zależy przede wszystkim od tego, jakie usługi chcemy na nim uruchomić. Im wydajniejszy sprzęt, tym więcej maszyn wirtualnych i kontenerów będziemy mogli obsługiwać jednocześnie oraz tym większy zapas wydajności pozostanie dla poszczególnych usług.

Poniższa tabela pomoże Ci dobrać odpowiednią konfigurację komputera przeznaczonego na serwer z Proxmoxem:

Sprzęt Minimalne Rekomendowane
Procesor 64-bitowy CPU z obsługą wirtualizacji Intel VT-x lub AMD-V 4-rdzeniowy lub lepszy, energooszczędny procesor z Intel VT-x lub AMD-V
Pamięć RAM 8 GB 16 GB lub więcej
Dysk 64 GB 256 GB SSD lub większy
Karta sieciowa Ethernet 100 Mb/s Ethernet 1 Gb/s lub szybszy
Połączenie z siecią Przewodowe lub Wi-Fi Przewodowe Ethernet

Instalacja Proxmox

Proxmox jest platformą, którą instalujemy bezpośrednio na komputerze, podobnie jak system operacyjny. Po instalacji maszyna staje się hostem dla naszych przyszłych serwerów wirtualnych. W typowej konfiguracji nie instalujemy więc najpierw Windowsa czy Ubuntu, a następnie Proxmoxa. Proxmox jest instalowany bezpośrednio na dysku komputera. Trzeba przy tym pamiętać, że instalacja usuwa dane znajdujące się na wybranym dysku.

Krok 1: pobranie obrazu ISO i nagranie na pendrive

Ze strony Proxmoxa pobierz obraz instalacyjny ISO: https://www.proxmox.com/en/downloads/proxmox-virtual-environment/iso.

Przygotuj pendrive, na którego zainstalujesz pobrany ISO i przygotujesz instalator systemu. Obraz ISO możesz nagrać na pendrive za pomocą programu takiego jak np. Rufus https://rufus.ie/pl/.

Przygotowanie pendrive z instalatorem Proxmox w Rufus
Przygotowanie pendrive z instalatorem Proxmox w Rufus

Krok 2: Uruchomienie komputera i instalatora Proxmoxa

Pendrive podłącz do komputera przeznaczonego pod serwer. Uruchom komputer z opcją bootowania z pendrive, aby uruchomić instalator Proxmoxa.

Sam proces instalacji przypomina instalację klasycznego systemu operacyjnego. Wybierzesz m.in:

  • dysk, na którym ma zostać zainstalowany Proxmox
  • kraj i strefę czasową
  • hasło administratora i adres e-mail
  • kartę sieciową
  • nazwę hosta
  • adres IP serwera

Na poniższych zdjęciach zobaczysz poszczególne kroki instalatora wraz ich krótkich wyjaśnieniem:

Wybór sposobu instalacji Proxmoxa. Jeżeli wystarczy Ci dostęp do Proxmoxa przez przeglądarkę - wybierz Terminal UI.
Wybór sposobu instalacji Proxmoxa. Jeżeli wystarczy Ci dostęp do Proxmoxa przez przeglądarkę - wybierz Terminal UI.
Regulamin Proxmoxa.
Regulamin Proxmoxa.
Wybór dysku, na którym Proxmox ma zostać zainstalowany.
Wybór dysku, na którym Proxmox ma zostać zainstalowany.
Ustawienia regionu i języka.
Ustawienia regionu i języka.
Wybór hasła na użytkownika root. Zapamiętaj wybrane przez siebie hasło.
Wybór hasła na użytkownika root. Zapamiętaj wybrane przez siebie hasło.
Konfiguracja sieciowa.
Konfiguracja sieciowa.

Krok 3: Zakończenie instalacji i uruchomienie panelu

Instalator po zakończeniu pracy spowoduje ponowne uruchomienie komputera, wówczas powinien wyświetlić adres pod którym będzie dostępny panel webowy do zarządzania całym środowiskiem:

Ekran po uruchomieniu komputer z Proxmox wraz z adresem do panelu do zarządzania Proxmoxem.
Ekran po uruchomieniu komputer z Proxmox wraz z adresem do panelu do zarządzania Proxmoxem.

Zalogujesz się do niego kontem administratora utworzonym podczas instalacji. Od tego momentu większość operacji możesz wykonywać przez przeglądarkę właśnie w tym miejscu.

Postawienie VPS pod stronę internetową

Masz już fizyczny serwer z zainstalowanym Proxmoxem. Teraz możesz utworzyć na nim pierwszą maszynę wirtualną. Z punktu widzenia użytkownika będzie ona działała podobnie jak VPS kupiony u firmy hostingowej. Będzie miał własny system operacyjny, dysk, określoną ilość RAM, przydzielone rdzenie procesora, unikalny adres IP.

Krok 1: pobranie systemu operacyjnego

Zanim utworzymy pierwszy kontener w Proxmox, musimy pobrać szablon systemu operacyjnego, na którym będzie on działał.

Po zalogowaniu się do panelu Proxmox rozwiń drzewo zasobów znajdujące się po lewej stronie i odszukaj storage local ( pve). Kliknij go, a następnie przejdź do sekcji CT Templates. Znajdują się tam gotowe szablony systemów operacyjnych przeznaczone do tworzenia kontenerów LXC.

Aby pobrać nowy szablon, kliknij przycisk Templates, wybierz z listy interesujący Cię system, np. ubuntu-26.04-standard, a następnie kliknij Download.

Pobieranie nowego szablonu w Proxmox
Pobieranie nowego szablonu w Proxmox

W kolejnym kroku wykorzystamy pobrany szablon do utworzenia i uruchomienia naszego pierwszego VPS-a.

Krok 2: stworzenie maszyny wirtualnej

W prawym górnym rogu panelu Proxmox znajdziesz przycisk Create CT. Po jego kliknięciu wyświetli się kreator, w którym możesz określić parametry nowego kontenera. Najważniejsze ustawienia to:

  • Pola Password i Confirm Password to przyszłe hasło użytkownika root w tworzonym VPS
  • W zakładce Template wybierz szablon systemu operacyjnego pobrany w poprzednim kroku
  • W zakładkach Disk, CPU i Memory określasz, ile zasobów fizycznego serwera będzie dostępnych dla kontenera. Liczbę rdzeni procesora oraz ilość pamięci RAM można później zmienić. Rozmiar dysku również można zwiększyć, natomiast jego zmniejszenie jest znacznie bardziej problematyczne i nie jest dostępne bezpośrednio z poziomu standardowej konfiguracji Proxmox
  • W zakładce Network wybierz opcję DHCP przy IPv4. Dzięki niej będziemy mogli zadbać o to, żeby maszyna miała stały adres IP w sieci lokalnej

Po skonfigurowaniu wszystkich opcji przejdź do podsumowania i kliknij Finish. Proxmox utworzy nowy kontener, który po chwili będzie gotowy do uruchomienia.

Krok 3: ustawienie stałego adresu IP maszyny wirtualnej

W większości przypadków warto zadbać o to, aby maszyna wirtualna miała stały adres IP w sieci lokalnej. W tym celu zaloguj się do panelu administracyjnego swojego routera i odszukaj ustawienia DHCP, najczęściej opisane jako Static Leases, DHCP Reservation lub podobnie.

W tym miejscu możesz przypisać wybrany adres IP do konkretnego adresu MAC karty sieciowej maszyny wirtualnej. Dzięki temu router będzie zawsze przydzielał jej ten sam adres IP.

Przypisanie stałego adresu IP wybranemu hostowi.
Przypisanie stałego adresu IP wybranemu hostowi.

Krok 4: instalacja serwera www na maszynie wirtualnej

Zaloguj się jako root do konsoli SSH serwer i zainstaluj Nginx na maszynie wirtualnej, aby na serwerze mogła działać strona internetowa.

apt-get install -y nginx

Krok 5: uruchomienie strony internetowej

Po zainstalowaniu Nginx i otworzeniu w przeglądarce adresu IP maszyny wirtualnej, powinna wyświetlić się strona podobna do poniższej:

Pierwsze uruchomienie strony internetowej w Nginx.
Pierwsze uruchomienie strony internetowej w Nginx.

W kolejnym kroku zadbamy o to, aby strona internetowa była dostępna na zewnątrz, a nie tylko w lokalnej sieci.

Jak zrobić, żeby strona internetowa była publicznie dostępna w internecie?

Posiadając publiczny adres IP, możemy udostępnić stronę internetową wszystkim użytkownikom internetu. W tym celu należy skonfigurować na routerze przekierowanie portów (port forwarding) dla portów 80 (HTTP) oraz 443 (HTTPS), kierując ruch na lokalny adres IP utworzonej maszyny wirtualnej:

Pierwsze uruchomienie strony internetowej w Nginx.
Pierwsze uruchomienie strony internetowej w Nginx.

Jak na jednym publicznym IP uruchomić kilka stron?

Załóżmy, że w Proxmoxie działają trzy maszyny do których chcielibyśmy mieć dostęp przez adresy:

  • moja-domena.pl
  • app.moja-domena.pl
  • cloud.moja-domena.pl

Nie możemy jednak przekierować portu 443 routera jednocześnie na trzy różne serwery. Rozwiązaniem jest reverse proxy, a najłatwiej to zrobić korzystając z Nginx Proxy Manager który można zainstalować bezpośrednio na Proxmoxie.

W serwisie społeczności Proxmox istnieje skrypt, który wykona za nas instalację i potrzebną konfigurację Nginx Proxy Manager a jego uruchomienie ogranicza się do uruchomienia jednej komendy w konsoli Proxmoxa. Mowa tutaj o konsoli SSH samego Proxmoxa, nie o konsoli maszyny wirtualnej. Aby uruchomić konsolę Proxmoxa kliknij prawym przyciskiem myszy w lewej kolumnie nawigacyjnej na pve i z menu kontekstowego wybierz opcję Shell.

Szczegóły instalacji Nginx Proxy Manager przy pomocy skryptu znajdziesz na: https://community-scripts.org/scripts/nginxproxymanager.

Zasada działania Nginx Proxy Manager jest prosta. Cały ruch z przeglądarki kierowany jest do niego (dlatego forwardowanie portów 80 i 443 ustaw teraz na IP maszyny z Nginx Proxy Manager), a następnie ruch rozbijany jest do konkretnej maszyny według zadanych kryteriów, np. po domenie.

Podsumowanie

Proxmox pozwala stosunkowo niewielkim kosztem zbudować własne środowisko do hostowania serwerów.

Wystarczy, że:

  1. posiadasz komputer pod serwer, najlepiej energooszczędny
  2. zainstalujesz na nim Proxmoxa,
  3. utworzysz maszyny wirtualne,
  4. przydzielisz im stałe adresy IP,
  5. uruchomisz potrzebne usługi, np. serwer www
  6. jeżeli masz publiczny adres IP, ustawisz port forwarding,
  7. przy większej liczbie stron, możesz wykorzystać Nginx Proxy Manager.

Takie środowisko świetnie nadaje się zarówno do nauki, jak i do rzeczywistego hostowania niewielkich usług. Co najważniejsze, możesz zacząć od sprzętu, który już posiadasz, a później stopniowo rozwijać własną infrastrukturę wraz ze wzrostem potrzeb.