Nginx proxy manager – Docker Compose

NGINX Proxy Manager – prosty sposób na certyfikaty SSL i zarządzanie serwisami w Dockerze

W świecie administracji serwerami coraz częściej stawiamy na rozwiązania, które pozwalają w prosty sposób zarządzać infrastrukturą, jednocześnie dbając o bezpieczeństwo i wygodę użytkowników. Jednym z narzędzi, które doskonale sprawdzają się w tej roli, jest NGINX Proxy Manager. To lekkie i intuicyjne rozwiązanie oparte na open source, które pozwala zarządzać reverse proxy, certyfikatami SSL oraz hostami w prostym interfejsie webowym.

Dlaczego warto używać NGINX Proxy Managera?

Wielu administratorów spotyka się z problemem, jak na jednym publicznym adresie IP udostępnić kilka różnych usług. NGINX Proxy Manager rozwiązuje ten problem w przejrzysty sposób – za pomocą reverse proxy. W praktyce oznacza to, że użytkownik łączy się z jednym adresem IP, a Proxy Manager wie, do którego serwisu „na zapleczu” powinien skierować ruch. Dzięki temu możliwe jest wystawienie wielu aplikacji lub stron internetowych bez potrzeby posiadania dodatkowych publicznych adresów.

Drugą kluczową funkcją jest zarządzanie certyfikatami SSL. NGINX Proxy Manager integruje się z Let’s Encrypt, umożliwiając automatyczne generowanie i odnawianie certyfikatów. Obsługuje zarówno HTTP Challenge – idealny dla usług dostępnych publicznie, jak i DNS Challenge – sprawdzający się w przypadku serwisów działających wewnętrznie, które nie powinny być wystawione do Internetu. To właśnie DNS Challenge pozwala wygenerować certyfikat nawet wtedy, gdy serwis działa wyłącznie w sieci lokalnej.

Instalacja z użyciem Docker Compose

W materiale pokazuję kompletną konfigurację z użyciem Docker Compose, co sprawia, że uruchomienie NGINX Proxy Managera sprowadza się do kilku linijek w pliku docker-compose.yml. Wystarczy przygotować kontenery, wskazać mapowanie portów (80, 443 oraz port administracyjny 81), a także zadbać o montowanie katalogów data i letsencrypt, aby zachować konfigurację i certyfikaty nawet po restarcie.

Dzięki temu rozwiązaniu cała konfiguracja jest łatwa do przeniesienia na inny serwer – wystarczy zrobić backup wspomnianych katalogów i pliku docker-compose.yml. To podejście nie tylko ułatwia utrzymanie, ale również znacząco przyspiesza proces odtwarzania środowiska w razie awarii.

Praktyczne zastosowania

NGINX Proxy Manager to nie tylko zarządzanie stronami WWW. Z jego pomocą można wystawiać do sieci różne serwisy webowe działające na tym samym hoście, np. Nextcloud, panel administracyjny, aplikacje testowe czy wewnętrzne dashboardy. Dzięki SSL i prostemu zarządzaniu hostami, wszystkie te usługi mogą działać pod bezpiecznymi adresami z certyfikatami Let’s Encrypt.

Ważnym elementem jest poprawna konfiguracja DNS. Niezależnie od tego, czy używasz Cloudflare, OVH, DigitalOcean czy innego dostawcy, kluczem do sukcesu jest prawidłowe wskazanie rekordów domenowych na serwer, na którym działa Proxy Manager. To właśnie tutaj pojawia się najwięcej błędów – szczególnie przy metodzie HTTP Challenge – dlatego w materiale szczegółowo omawiam, jak ustawić DNS-y, aby całość działała bez problemu.

				
					plik docker-compose.yaml:
services:
  app:
    image: 'jc21/nginx-proxy-manager:2'
    restart: unless-stopped
    ports:
      - '80:80' # Public HTTP Port
      - '443:443' # Public HTTPS Port
      - '81:81' # Admin Web Port

    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

    healthcheck:
      test: ["CMD", "/usr/bin/check-health"]
      interval: 10s
      timeout: 3s

				
			

Komendy:

Start docker compose

docker compose up -d

 

Zatrzymanie docker compose
docker compose stop

 

Sciągnięcie aktualne jwersji obrazów
docker compose pull

Kody:

Podsumowanie

NGINX Proxy Manager to rozwiązanie, które powinno znaleźć się w arsenale każdego administratora. Łączy prostotę obsługi z dużymi możliwościami konfiguracji, a dzięki integracji z Let’s Encrypt pozwala w pełni zautomatyzować proces zarządzania certyfikatami SSL. Do tego dochodzi łatwa instalacja z użyciem Dockera, możliwość wystawienia wielu usług za jednym adresem IP oraz intuicyjny panel administracyjny.

Jeżeli chcesz zobaczyć, jak wygląda instalacja i konfiguracja krok po kroku, obejrzyj przygotowany film – znajdziesz w nim kompletną instrukcję od stworzenia prostego środowiska testowego aż po wygenerowanie certyfikatu wildcard dla całej domeny.