Инструкция по полной установке и настройке Nginx Proxy Manager и MySQL в Docker

2 июня, 2025 admin Comments Off

Для начала необходимо понять зачем нужен Nginx Proxy Manager (NMP).

Убедимся, что у нас установлена актуальная версия Rocky Linux

Обновим систему и пакеты:

dnf update all

После обновления перезагрузим сервер:

reboot

или

shutdown -r now

Добавим пользователя npm в систему (это обязательно) — имя пользователя может быть другим:

useradd npm

Установим пароль:

passwd npm

Добавим npm пользователя в группу wheel, которая предоставляет права sudo на Rocky Linux:

usermod -aG wheel npm

Подключимся по SSH к серверу под пользователем npm

Установим необходимые зависимости:

sudo dnf install -y yum-utils device-mapper-persistent-data lvm2

Добавим репозиторий Docker в систему:

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

Установим Docker (статья Зачем нужен Docker):

sudo dnf install -y docker-ce docker-ce-cli containerd.io

Запустим службу Docker и добавим ее в автозапуск:

sudo systemctl start docker
sudo systemctl enable docker

Убедимся, что Docker успешно установлен, запустив команду проверки:

docker version

Должен появиться примерно такой результат:

Client: Docker Engine - Community
 Version: 24.0.4
 API version: 1.43
 Go version: go1.20.5
 Git commit: 3713ee1
 Built: Fri Jul 7 14:52:35 2023
 OS/Arch: linux/amd64
 Context: default

Server: Docker Engine - Community
 Engine:
  Version: 24.0.4
  API version: 1.43 (minimum version 1.12)
  Go version: go1.20.5
  Git commit: 4ffc614
  Built: Fri Jul 7 14:50:59 2023
  OS/Arch: linux/amd64
  Experimental: false
 containerd:
  Version: 1.6.21
  GitCommit: 3dce8eb055cbb6872793272b4f20ed16117344f8
 runc:
  Version: 1.1.7
  GitCommit: v1.1.7-0-g860f061
 docker-init:
  Version: 0.19.0
  GitCommit: de40ad0
    

Установим Docker Compose

Ознакомьтесь с детальным описанием — Зачем нужен Docker Compose.

sudo curl -SL https://github.com/docker/compose/releases/download/v2.20.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

Установим права на выполнение файла Docker Compose:

sudo chmod +x /usr/local/bin/docker-compose

Проверим успешность установки Docker Compose:

docker compose version

Должен появиться примерно такой результат:

Docker Compose version v2.20.0

Создаём директорию под NPM:

sudo mkdir -p /app/NPM

Сделаем нашего пользователя (не root!) владельцем этой директории:

sudo chown -R $USER:$USER /app/NPM

Перейдем в директорию, которую мы создавали выше:

cd /app/NPM

Создадим файл docker-compose.yml:

sudo vi docker-compose.yml

С таким содержимым:

version: '3'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    container_name: nginx-proxy-manager-app
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    environment:
      DB_MYSQL_HOST: "db"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "npm"
      DB_MYSQL_PASSWORD: "npm"
      DB_MYSQL_NAME: "npm"
      # Uncomment this if IPv6 is not enabled on your host
      #DISABLE_IPV6: 'true'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

  db:
    image: 'mariadb:latest'
    container_name: nginx-proxy-manager-db
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: 'npm'
      MYSQL_DATABASE: 'npm'
      MYSQL_USER: 'npm'
      MYSQL_PASSWORD: 'npm'
    volumes:
      - ./data/mysql:/var/lib/mysql
    

Сохраним файл. Стартуем контейнер NPM:

sudo docker compose up -d

После скачивания и старта контейнеров NPM будет соединен с MySQL и уже там будет хранить данные.

Через браузер подключаемся к нашему NPM по IP-адресу сервера и 81 порту, например: http://192.169.57.57:81

Авторизуемся с реквизитами по умолчанию

admin@example.com
changeme
    

При первом входе необходимо сменить почту и пароль.

Произведем необходимые настройки.

Важно отметить, что после перезагрузки оба контейнера у нас запустятся автоматически и все произведенные настройки через web-интерфейс сохранятся.

Хотите безошибочно настроить Nginx Proxy Manager и MySQL в Docker на Rocky Linux 9.2? Позвольте команде Kamensky-lab помочь вам в каждом шаге этого процесса. Обратитесь к нам для консультации и успешной установки!

— Умный бот для вашего сайта: отвечает, продаёт, помогает. —

Дарим скидку 5 000 руб
на разработку чат-бота
для сайта с ИИ