MAATRIX / Блог / Portainer на Ubuntu 24.04: пошаговая установка

Portainer на Ubuntu 24.04: пошаговая установка

Portainer на Ubuntu 24.04: пошаговая установка

MAATRIX

Управлять контейнерами из терминала удобно, пока их немного. Установить Portainer на Ubuntu 24.04 стоит, чтобы получить наглядную веб-панель: контейнеры, образы, тома, логи и стеки в браузере, с понятными правами для команды. Ниже — пошаговая установка с готовыми командами: от Docker до защищённого HTTPS-доступа к панели и создания первого администратора. Коротко о том, что даёт панель на практике. Portainer показывает всё, что происходит на сервере: какие контейнеры запущены, сколько они потребляют, что в их логах, какие образы и тома лежат на диске. Действия, которые обычно делают командами, здесь выполняются мышью: перезапустить контейнер, посмотреть его вывод, зайти внутрь, поднять новый стек из compose-файла, почистить неиспользуемое. Особенно это ценно, когда на проде что-то пошло не так и важна скорость реакции: вы сразу видите, какой контейнер нездоров и что в его последних логах, не набирая ни одной команды. При этом важно понимать одно ограничение сразу: доступ к панели равносилен доступу ко всем контейнерам сервера, поэтому её защите мы уделим отдельные шаги, а не только запуску.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Шаг 1. Подготовка сервера

Начните с чистого VPS на Ubuntu 24.04 с root-доступом. Сам Portainer занимает считаные мегабайты, ресурсы нужны вашим контейнерам, поэтому под панель плюс небольшой набор сервисов комфортно на 2 ядрах и 2–4 ГБ RAM. Обновите систему:

apt update && apt upgrade -y

Убедитесь, что время синхронизировано — это важно для корректной работы TLS при настройке HTTPS:

timedatectl status

Локацию выбирайте по задаче ваших сервисов: для российской аудитории ниже пинг с RU-площадки, для доступа к зарубежным сервисам — US, для Европы — UK. У MAATRIX доступны все три с оплатой из России картой, СБП или криптой, поэтому сервер с панелью можно разместить там, где удобнее вам и пользователям.

Шаг 2. Установка Docker

Portainer работает как контейнер, поэтому сначала нужен Docker. Поставьте его официальным скриптом, который подключает репозиторий Docker для Ubuntu 24.04:

curl -fsSL https://get.docker.com | sh
systemctl enable --now docker
docker --version

Команда systemctl enable --now docker включает автозапуск демона, чтобы после перезагрузки VPS и Docker, и панель поднимались сами. Это важный для продакшена момент: без включённого автозапуска демона панель не встанет после ребита, даже с правильной политикой перезапуска у самого контейнера. Проверьте, что движок работает, простым запуском тестового контейнера:

docker run --rm hello-world

Успешный вывод подтверждает, что Docker установлен и функционирует. Теперь можно поднимать саму панель.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS

Шаг 3. Том данных и запуск Portainer

Данные Portainer (учётки, настройки, подключения) должны храниться в томе, а не внутри контейнера, иначе при пересоздании панели вы потеряете конфигурацию. Создайте том:

docker volume create portainer_data

Запустите Portainer. Команда поднимает контейнер, подключает его к сокету Docker для управления другими контейнерами и хранит данные в томе. Порт привязан к localhost намеренно — наружу отдадим панель через прокси:

docker run -d \
  --name portainer \
  --restart=unless-stopped \
  -p 127.0.0.1:9443:9443 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce:latest

Проверьте, что контейнер поднялся:

docker ps | grep portainer

Монтирование docker.sock даёт Portainer полный контроль над Docker — это необходимо для работы, но именно поэтому доступ к панели равносилен доступу к серверу, и защите доступа мы уделим отдельные шаги.

Шаг 4. Первый вход и создание администратора

Здесь есть важная тонкость: Portainer из соображений безопасности даёт ограниченное время после запуска на создание первого администратора. Если затянуть, создание заблокируется, и контейнер придётся перезапустить. Поэтому заходите сразу.

Поскольку порт привязан к localhost, добраться до панели с рабочей машины проще всего через SSH-туннель. Выполните на своём компьютере:

ssh -L 9443:127.0.0.1:9443 root@IP-сервера

Теперь откройте в браузере https://localhost:9443. Браузер предупредит о самоподписанном сертификате — на этом этапе нормально, нормальный HTTPS настроим следующим шагом. Задайте логин администратора и надёжный пароль, затем на первом экране выберите подключение к локальному Docker — панель сразу покажет все контейнеры сервера.

Шаг 5. HTTPS-доступ через реверс-прокси

Ходить через SSH-туннель каждый раз неудобно, а открывать порт панели напрямую в интернет небезопасно. Правильное решение — поставить перед Portainer реверс-прокси с валидным сертификатом. Установите Nginx и certbot:

apt install nginx certbot python3-certbot-nginx -y

Создайте конфиг /etc/nginx/sites-available/portainer.conf для поддомена панели. Обратите внимание: Portainer работает по HTTPS на 9443, поэтому проксировать нужно на https:

server {
    listen 80;
    server_name portainer.example.com;
    location / {
        proxy_pass https://127.0.0.1:9443;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Включите сайт и выпустите сертификат:

ln -s /etc/nginx/sites-available/portainer.conf /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d portainer.example.com

Теперь панель доступна по https://portainer.example.com с валидным сертификатом, а порт 9443 остаётся закрытым для внешнего мира. Домен portainer.example.com должен A-записью указывать на сервер, иначе выпуск сертификата не пройдёт.

Шаг 6. Защита панели и первые шаги

Панель управления сервером требует защиты серьёзнее обычного сайта — тот, кто получил к ней доступ, управляет всеми контейнерами. Ограничьте доступ дополнительно: включите двухфакторную аутентификацию в настройках Portainer, а на уровне прокси при возможности ограничьте вход списком доверенных IP. Как минимум держите вход за надёжным, неповторяющимся паролем.

После настройки Portainer превращает рутину в пару кликов. В разделе контейнеров видно их состояние, потребление ресурсов, логи и консоль — можно перезапустить, остановить или зайти внутрь без терминала. Особенно полезны стеки: вы вставляете содержимое compose.yaml в редактор, и панель разворачивает весь набор сервисов, отслеживая их как единое целое. Для команды пригодится система прав — разные уровни доступа для разных людей без раздачи SSH всем подряд.

По мере роста числа сервисов панель окупается удобством, а метрики контейнеров прямо в Portainer помогают вовремя заметить нехватку памяти или диска. Если сервер стабильно у потолка, это честный сигнал взять VPS помощнее — у MAATRIX апгрейд доступен без смены провайдера, с оплатой из России картой или криптой, а перенести контейнеры на более мощную машину проще всего через привычную панель.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Частые вопросы

Сколько ресурсов нужно Portainer на Ubuntu 24.04?

Сама панель занимает считаные мегабайты; ресурсы нужны вашим контейнерам, а под панель плюс небольшой набор сервисов достаточно 2 ядер и 2–4 ГБ RAM.

Почему не удаётся создать администратора?

Portainer даёт ограниченное время на создание первого пользователя после запуска; если опоздали, выполните docker restart portainer и войдите сразу.

Как безопасно открыть панель наружу?

Отдавайте её через реверс-прокси с HTTPS и proxy_pass на https://127.0.0.1:9443, включите двухфакторную аутентификацию, а порт 9443 держите закрытым.

Как оплатить VPS под Portainer из России?

У MAATRIX доступна оплата картой российского банка, по СБП, криптовалютой или токеном MAAT, иностранная карта не нужна.

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.