Написанное ниже используется исключительно в целях личной шпаргалки.
Шаг 1: Подготовка сервера
О подготовке сервера и установке на Ubuntu 22.04 Docker и Docker Compose можно прочитать в этой статье .
Шаг 2: Перенаправляем домен на свой сервер.
Для того, чтобы мы могли пользоваться Portainer, переходя по адресу нашего сайта (домену 3 уровня), нам необходимо заранее прописать в DNS настройки нашего домена A-записи с ссылкой на домен и IP-адресом сервера.
Выше как пример показано как это делается у регистратора 2domains.ru в разделе Управление зоной DNS.
Шаг 3: Установка Portainer
Теперь, когда Docker установлен и работает, перейдём к установке Portainer.
Создай Docker volume для Portainer:
docker volume create portainer_data
Запусти контейнер Portainer:
docker run -d -p 8000:8000 -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:2.20.3
Эта команда запустит Portainer на портах 8000 и 9000. Мы будем использовать HTTP (порт 9000) для доступа к интерфейсу. Если мы будем использовать HTTPS то (порт 9443 в место 9000) для доступа к интерфейсу.
Шаг 4: Настройка домена
Теперь, чтобы привязать Portainer к своему домену, нужно настроить проксирование через Nginx и обеспечить доступ по HTTPS с использованием SSL-сертификата.
Установка Nginx
Если Nginx не установлен на сервере, установи его:
sudo apt install -y nginx
Вставь в файл следующую конфигурацию (замени yourdomain.com на свой домен):
server {
listen 80;
server_name portainer.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:9000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Активируй эту конфигурацию:
sudo ln -s /etc/nginx/sites-available/portainer.yourdomain.com /etc/nginx/sites-enabled/
Проверь конфигурацию Nginx на наличие ошибок:
sudo nginx -t
Если всё в порядке, перезапусти Nginx:
Шаг 5: Доступ к Portainer
Теперь ты можешь открыть браузер и перейти по адресу http://portainer.yourdomain.com. При первом входе тебе предложат создать административного пользователя. Заполни поля и продолжай настройку по своему усмотрению.