Сервис Apps позволяет развернуть приложение с помощью Docker Compose, размещённого в репозитории. Это даёт возможность запускать любые приложения, включая те, что работают на фронтенд- и бэкенд-фреймворках, не поддерживаемых сервисом напрямую.
docker-compose.yml
должен находиться в корне подключенного репозитория. Пример можно найти в Гитхабе.80
и 443
в качестве хост-портов — они зарезервированы под Nginx.docker-compose.yml
. Остальные сервисы, если у них заданы хост-порты, будут доступны с их явным указанием. Например:services:
my-app:
ports:
- "9000:80"
adminer:
ports:
- "8080:8080"
В этом случае:
my-app
— доступен по основному домену.adminer
— доступен по http://домен:8080
.Вольюмы, созданные в
docker-compose.yml
, не сохраняются при повторном деплое.
В пункте «Тип» перейдите на вкладку Docker и выберите Docker Compose.
Выберите репозиторий с приложением. В корне репозитория должен быть размещен docker-compose.yml
.
Репозиторий можно подключить:
Из вашего аккаунта GitHub, GitLab или BitBucket. Кликните на название платформы, авторизуйтесь и выберите нужный репозиторий. Если вы уже авторизованы, панель сразу покажет доступные репозитории.
По URL, указав ссылку на репозиторий, созданный на любой платформе. Кликните «Подключите git-репозиторий по URL» (либо «Добавить аккаунт» → «Подключите git-репозиторий по URL») и укажите Git URL репозитория. Если репозиторий приватный, введите реквизиты доступа.
Подробнее о подключении репозиториев — здесь.
1. Выберите ветку для деплоя.
2. По умолчанию мы включаем опцию «Сборка по последнему выполненному коммиту». В этом случае сервис Apps выполнит деплой по самому актуальному коммиту, а в дальнейшем будет автоматически пересобирать приложение при добавлении новых коммитов в репозиторий.
При необходимости вы сможете отключить автодеплой в дальнейшем.
Если вы хотите выбрать конкретный коммит вручную — отключите эту опцию.
Приложение должно быть развернуто на отдельном облачном сервере. Выберите регион размещения сервера и его конфигурацию.
В дальнейшем, если потребуется, вы сможете перейти на более мощный тариф.
Сервис автоматически прочитает инструкции из docker-compose.yml
и соберет приложение в соответствии с ними.
На этом этапе вы можете задать переменные, если это необходимо. Если они прописаны в docker-compose.yml
или в Dockerfile
, дублировать их не требуется.
Переменные будут использоваться на этапе сборки Dockerfile
, но пока их нельзя передать в docker-compose.yml
.
В дальнейшем у вас будет возможность внести изменения в параметры приложения, а также выбрать другую ветку и коммит, и перезапустить деплой с новыми настройками, если потребуется.
Задайте свое имя приложения, если требуется, и комментарий к нему. Это данные, которые будут отображаться в панели управления.
Также выберите, в какой проект его нужно добавить.
Эти настройки также можно изменить в дальнейшем.
Нажмите Запустить деплой. Как только процесс начнется, вы увидите лог деплоя во вкладке «Деплой».
Как правило, он содержит всю необходимую информацию для устранения возможных ошибок. Если что-то пойдет не так, например, из-за наличия ошибок в коде, в логе будут выведены уведомления о них с уточнением причины проблемы.
При первом развертывании проекта установка сервера может занять некоторое время. Как только процесс завершится, статус приложения обновится, а также вы увидите сообщение об этом в логе.
IP-адрес приложения и бесплатный технический домен, привязанный к нему по умолчанию, можно найти на вкладе «Дашборд». Привязать собственный домен можно по нашей инструкции.
В дальнейшем Apps будет отслеживать обновления в репозитории и, если включен автодеплой, автоматически перезапускать проект с новыми изменениями.