Сервисы

Импорт из Docker Compose

Скопировать данные баз данных и кэшей из Docker Compose в сервисы Joppa, а затем переключить проект, никогда не изменяя источник.

Ваш проект запускает PostgreSQL или Redis в собственном docker-compose.yml? Joppa может скопировать их данные в свои сервисы, а затем направить проект на них. Источник никогда не изменяется.

Где это найти

  • При анализе проекта (сразу после добавления или позже): шаг Сервисы предлагает Перейти на … из Joppa для каждого сервиса Compose, который Joppa умеет заменить (см. Анализ). Данные копируются после сохранения, в одном окне: полоса сверху отмечает сервисы по мере продвижения ([✓] mailpit [2] postgres [3] redis), экран для каждой базы данных или кэша сам переходит к следующему после импорта, а в конце сводка перечисляет, что перешло на Joppa. У сервисов без данных для копирования своего экрана нет.
  • Позже: вкладка Домены проекта, раздел Данные Docker Compose.

Что можно импортировать

Источник (Compose) Назначение (Joppa) Способ
PostgreSQL PostgreSQL pg_dump, затем восстановление
MySQL, MariaDB MySQL или MariaDB mysqldump, затем восстановление
Redis, Valkey Redis или Valkey Копирование ключей (DUMP / RESTORE)
Mailpit, MailHog Mailpit Без копирования: меняется только .env проекта
Typesense, Meilisearch Typesense, Meilisearch Без копирования: индексы перестраиваются из приложения (scout:import, предлагается после подключения)
Reverb (контейнер, запускающий php artisan reverb:start), Soketi Reverb Без копирования: тот же протокол (Pusher), меняется только .env. Joppa всегда запускает Reverb, даже вместо Soketi

Joppa читает compose.yaml, compose.yml, docker-compose.yml или .yaml, файл override и COMPOSE_FILE, подставляя вместо ${VAR:-default} значения из .env и env_file. Он находит версию образа, даже если образ собран из Dockerfile (FROM).

План импорта

Прежде чем что-либо копировать, Joppa показывает источник, назначение и:

  • База данных для импорта и Имя в Joppa;
  • размер (или число ключей);
  • версии с обеих сторон;
  • расширения, которые использует исходная база: Доступно в Joppa, Нужно включить на сервере Joppa или Joppa не предлагает.

Для кэша параметр Заменить ключи, уже имеющиеся в Joppa выбирает между слиянием и перезаписью.

Что Joppa настраивает за вас

Ситуация Что предлагается
Источник остановлен Запустить его (docker compose up) с вашего согласия
В Joppa ещё нет сервиса Joppa сам создаёт его, той же версии, что и источник, на свободном порту
Сервис Joppa остановлен Joppa сам его запускает
Порт источника не опубликован (кэши) Фрагмент, который нужно добавить в Compose
Расширения нужно включить на сервере Добавить их в образ и перезапустить сервис
База с таким же именем уже есть Импортировать под другим именем или Заменить

Импорт идёт по шагам, которые показываются как журнал: Дамп, Создание базы данных, Восстановление (или Чтение ключей, Копирование ключей), затем Перейти на Joppa.

С Joppa Pro Заменить сначала делает снимок заменяемой базы («Перед импортом из Compose»): см. Снимки.

Mailpit, поиск и Soketi

Mailpit или MailHog из Compose не нужно запускать рядом с Joppa: у Joppa уже есть свой Mailpit. Ничего не копируется (перехваченные сообщения — тестовые письма): Joppa останавливает сервис Compose и направляет .env проекта на свой Mailpit (MAIL_HOST и MAIL_PORT для Laravel, MAILER_DSN для Symfony, SMTP_HOST и SMTP_PORT для Node…). Сервис Compose может быть остановлен или запущен — это неважно, а если Mailpit в Joppa ещё нет, Joppa его создаёт. То же самое касается Typesense, Meilisearch и Soketi (его заменяет Reverb в Joppa): ничего не копируется, а поисковые индексы заполняются на шаге «Заполнить индексы», предлагаемом после подключения. При анализе всё происходит без отдельного экрана; в разделе Данные Docker Compose кнопка Перейти на Joppa открывает один экран с вариантами ниже.

После импорта

Под планом раздел После импорта показывает, что последует за копированием, ещё до нажатия Импортировать:

  • Остановить сервис Compose и освободить порт: его данные остаются в Docker;
  • Направить .env проекта на Joppa — с переменными, которые изменятся: оригинал сохраняется в .env.joppa-backup.

Оба пункта отмечены по умолчанию. Если снять флажки, Compose и .env останутся как есть.

getjoppa.com › support

Загрузка

Не отправляется? Напишите на [email protected]. Просто вопрос: [email protected].