Деплой Docker-образа или переезд Compose-стека

Зачем это нужно

  • Из образа: у вас уже есть контейнер в реестре (Docker Hub, GHCR, свой) и нужно просто поднять его за адресом, с метриками, логами и переменными окружения — без шага сборки.
  • Из Compose: у вас есть готовый docker-compose.yaml (например, переезжает старое приложение), и каждый его сервис должен стать отдельным управляемым приложением Dada.

Как выкатить готовый образ

  1. Откройте ApplicationsDeploy application.
  2. Выберите окружение, карточку From image и нажмите Continue.
  3. Заполните форму Create Application:
    • Name — имя ресурса (строчные буквы, цифры, дефисы).
    • Image — например ghcr.io/you/app:latest.
    • Port, Replicas, Profile.
  4. Нажмите Create App.
  5. Чтобы выкатить новую версию позже, откройте приложение → Deploy Image, введите новый тег и задеплойте. Текущий тег показан рядом для ориентира.

Как перенести существующий Compose-стек

Формы «вставьте сюда compose.yaml» на странице приложений нет. Карточка From Compose в диалоге деплоя ведёт прямо в App Servers: compose-стеки попадают в Dada только через подключение виртуальной машины.

  1. Подключите свою VM (или закажите новую), на которой уже крутится ваш стек, и дождитесь статуса Ready.
  2. Откройте сервер → вкладка WorkloadsDiscover workload: платформа снимет опись запущенных контейнеров только на чтение, через Portainer, без SSH.
  3. Нажмите Import into Dada — полный разбор мастера в подключении существующих нагрузок.

Каждый выбранный сервис становится отдельным приложением Dada со своими логами, метриками и настройками, а не одним общим. Именованные тома переподключаются как external, данные сохраняются.

Как править уже работающее приложение

  • Редактор compose.yaml: у приложений, импортированных с VM, есть вкладка Edit compose с живым YAML-редактором. Несохранённые правки подсвечиваются, кнопка Save & redeploy применяет их.
  • Редактор values.yaml: у облачных приложений есть вкладка Edit values, связанная по WebSocket. Правки сохраняются прямо в git (Save to git) и запускают выкатку.
  • Переменные окружения: SettingsEnvironment variables. У каждой переменной есть область действия (build, runtime или both) и флаг Secret — такие шифруются при хранении, в таблице показаны как •••••••• и раскрываются по запросу при наличии прав.

Подводные камни

  • Кнопка «Разбить на приложения» появляется только у приложения, которое само ещё представляет собой цельный compose-стек. Она пересоздаёт стек — контейнеры перезапускаются, но тома и данные сохраняются.
  • Раскрытие секретов ограничено правами: если видите «You don't have permission to reveal secrets», попросите Owner или Admin.
  • Прямое редактирование values.yaml и compose.yaml обходит формы с проверками: плохой манифест ломает выкатку. Кроме истории git, никакого diff и отката в интерфейсе нет.

Чего пока нет

  • Формы, где можно с нуля написать Compose-стек в консоли: такие приложения всегда приходят с подключённой VM.
  • Сканирования образов на уязвимости и управления реквизитами реестра — кроме самой строки образа.

Куда дальше