Сервис App Platform позволяет развернуть приложение с помощью Dockerfile, размещенного в репозитории. Благодаря этому вы можете деплоить любые приложения, в том числе созданные на фронтенд- и бэкенд-фреймворках, которые сервис не поддерживает напрямую.
У нас есть туториал с примером развертывания приложения через Dockerfile.
Требования для запуска
- Dockerfile может быть размещен в корне репозитория или по пути, который вы укажете в поле «Путь до директории проекта», и должен содержать необходимые инструкции для сборки и запуска и приложения. Пример докерфайла и приложения можно найти на Гитхабе.
- В Dockerfile должен быть прописан параметр
EXPOSE, чтобы сервис мог определить, какой порт должен слушать веб-сервер. ЕслиEXPOSEне задан, веб-сервер по умолчанию будет слушать порт контейнера8080.
Пример:
FROM python:3.6 MAINTAINER Name Name "mail@mail.com" COPY . /app WORKDIR /app RUN pip install -r requirements.txt ENTRYPOINT ["python"] CMD ["app.py"] EXPOSE 3478
- Необходимые переменные окружения могут быть заданы как в самом докерфайле, так в процессе запуска приложения в панели управления.
Шаг 1. Выбор приложения
В пункте «Тип» перейдите на вкладку Dockerfile.

Шаг 2. Подключение репозитория
Выберите репозиторий с приложением. В корне репозитория должен быть размещен Dockerfile.
Репозиторий можно подключить:
- Из вашего аккаунта GitHub, GitLab или BitBucket. Кликните на название платформы, авторизуйтесь и выберите нужный репозиторий. Если вы уже авторизованы, панель сразу покажет доступные репозитории.
- По URL, указав ссылку на репозиторий, созданный на любой платформе. Кликните «Подключите git-репозиторий по URL» (либо «Добавить аккаунт» → «Подключите git-репозиторий по URL») и укажите Git URL репозитория. Если репозиторий приватный, введите реквизиты доступа.
Подробнее о подключении репозиториев — здесь.
Шаг 3. Выбор ветки и коммита
Выберите ветку для деплоя.
В меню выбора ветки отображаются только 200 последних веток. При подключении репозитория GitLab, GitHub или Bitbucket также отображается ветка по умолчанию (master, main или default).
По умолчанию мы включаем опцию «Сборка по последнему выполненному коммиту». В этом случае App Platform выполнит деплой по самому актуальному коммиту, а в дальнейшем будет автоматически пересобирать приложение при добавлении новых коммитов в репозиторий.
При необходимости вы сможете отключить автодеплой в дальнейшем.
Если вы хотите выбрать конкретный коммит вручную — отключите эту опцию.
Шаг 4. Регион и конфигурация сервера
Приложения разворачиваются на отдельных облачных серверах. Выберите регион размещения и подходящую конфигурацию сервера. Вы можете выбрать один из готовых тарифов или настроить конфигурацию вручную на вкладке «Произвольная».
В дальнейшем, если потребуется, вы сможете перейти на более мощный тариф.

Шаг 5. Настройка приватной сети

На этом этапе вы можете выбрать приватную сеть, в которую будет добавлено приложение, и указать IP-адрес, который оно будет использовать. Обратите внимание, что изменить приватную сеть после деплоя нельзя.
Если для приложения настроен приватный IP-адрес, во время повторного деплоя возможна кратковременная недоступность приложения. Это связано с тем, что перед запуском новой версии необходимо освободить занятые порты.
Шаг 6. Настройка приложения

Сервис автоматически прочитает инструкции из докерфайла и соберет приложение в соответствии с ними.
Если Dockerfile размещен в корне репозитория, оставьте поле «Путь к директории проекта» пустым.
Если Dockerfile размещен в поддиректории, укажите путь к ней относительно корня в поле «Путь к директории проекта». Этот путь используется как расположение Dockerfile и становится контекстом сборки.
Вы также можете задать путь проверки состояния и переменные (ENV), если это необходимо. Если они прописаны в докерфайле, дублировать их не требуется.
В дальнейшем у вас будет возможность внести изменения в параметры приложения, а также выбрать другую ветку и коммит, и перезапустить деплой с новыми настройками, если потребуется.
Шаг 7. Информация о приложении
Задайте свое имя приложения, если требуется, и комментарий к нему. Это данные, которые будут отображаться в панели управления.
Также выберите, в какой проект его нужно добавить.
Эти настройки также можно изменить в дальнейшем.
Шаг 8. Деплой
Нажмите Запустить деплой. Как только процесс начнется, вы увидите лог деплоя на вкладке «Деплой».
Как правило, он содержит всю необходимую информацию для устранения возможных ошибок. Если что-то пойдет не так, например, из-за наличия ошибок в коде, в логе будут выведены уведомления о них с уточнением причины проблемы.
При первом развертывании проекта установка сервера может занять некоторое время. Как только процесс завершится, статус приложения обновится, а также вы увидите сообщение об этом в логе.
Готово!
IP-адрес приложения и бесплатный технический домен, привязанный к нему по умолчанию, можно найти на вкладе «Дашборд». Привязать собственный домен можно по нашей инструкции.
Приложение будет доступно по 443 порту; порт 80 также открыт.
В дальнейшем App Platform будет отслеживать обновления в репозитории и, если включен автодеплой, автоматически перезапускать проект с новыми изменениями.