Nginx Proxy Manager (NPM) — це веб-інтерфейс поверх NGINX, розроблений для спрощення та зручності налаштування зворотного проксі. Він ідеально підходить як для новачків, так і для досвідчених користувачів, які хочуть керувати веб-сервісами, SSL-сертифікатами та маршрутизацією без необхідності редагувати складні конфігураційні файли Nginx.

Для чого потрібен Nginx Proxy Manager?

Коли ви запускаєте кілька вебдодатків або сервісів на одному сервері (або на різних машинах), легко заплутатись у портах і піддоменах. Nginx Proxy Manager (NPM) вирішує цю проблему, виступаючи в ролі зворотного проксі — він перенаправляє трафік туди, куди потрібно, водночас надаючи безпечний і зручний інтерфейс.

Приклади використання:

  • Проксіювання таких сервісів, як Home Assistant, Nextcloud, Jellyfin, WordPress тощо
  • Автоматичне керування SSL-сертифікатами
  • Маршрутизація трафіку за доменом, піддоменом або портом
  • Надання HTTPS-доступу до локальних чи внутрішніх сервісів
  • Обмеження доступу до сервісів за допомогою HTTP-аутентифікації

Ключові можливості:

  • Інтуїтивно зрозумілий веб-інтерфейс — керуйте усіма проксі, сертифікатами та налаштуваннями через панель без редагування конфігурацій NGINX
  • Інтеграція з Let’s Encrypt — автоматичне й безкоштовне отримання та оновлення SSL-сертифікатів
  • Підтримка Wildcard SSL (через DNS challenge)
  • Керування проксі-хостами — легко перенаправляйте трафік на інші порти або сервери
  • Перенаправлення HTTP та TCP-потоків — просте створення правил для HTTP та TCP
  • HTTP Basic Auth — захист маршрутів чи сервісів логіном і паролем
  • Журнали доступу та помилок — переглядайте логи прямо через панель управління

Як легко встановити Nginx Proxy Manager

Примітка: на сервері мають бути попередньо встановлені Docker і Docker Compose.
Створіть каталог і додайте файл конфігурації:

mkdir npm
cd npm
nano docker-compose.yml

Вставте наступний код і збережіть файл:

version: '3'
services:
 app:
   image: 'jc21/nginx-proxy-manager:latest'
   restart: unless-stopped
   ports:
     - '80:80'
     - '81:81'
     - '443:443'
   volumes:
     - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

Запустіть контейнер командою:

docker-compose up -d

Після запуску панель керування Nginx Proxy Manager буде доступна за адресою:
http://IP-вашого-сервера:81

Увійдіть у панель керування з початковими обліковими даними:
Email: admin@example.com
Пароль: changeme

Обов’язково змініть логін, електронну адресу та пароль за замовчуванням для безпеки вашого сервера. 

 

Як встановити NPM через Portainer та отримати до нього доступ

Під час замовлення сервісу ви можете одразу обрати варіант із попередньо встановленим Portainer — це спростить керування Docker-контейнерами та їх запуск.

Якщо Portainer ще не встановлений, скористайтеся нашою інструкцією зі встановлювальним скриптом від Unihost. Цей скрипт не лише інсталює Portainer, але й додає колекцію готових шаблонів від нашої команди, включно з NPM (Nginx Proxy Manager).

Щоб інсталювати NPM, просто виберіть відповідну конфігурацію зі списку та дотримуйтесь кроків, зазначених в інструкції.

Зайдіть у Portainer.

На головному екрані натисніть «Local».

У меню ліворуч виберіть «Templates».
Знайдіть шаблон «Nginx Proxy Manager» та натисніть на нього.

Заповніть форму.
Натисніть «Deploy the stack» і зачекайте завершення встановлення.

У Portainer відкрийте «Stacks» — з’явиться ваш стек із NPM.

Перейдіть за адресою: http://IP-вашого-сервера:81
Ви зможете підключитися до NPM.

Увійдіть, використовуючи логін і пароль, задані на етапі деплою.

Висновок

Nginx Proxy Manager – це аналог NGINX для тих, хто не хоче возитися з конфігураційними файлами NGINX. Він спрощує налаштування зворотних проксі-серверів, SSL та маршрутизації – і все це за допомогою зручного інтерфейсу.