До 12.5 млн токенов на тест ИИ-агента
Вход/ Регистрация

Деплой из кастомных реестров

Сервис App Platform позволяет развернуть приложение из готового Docker-образа в публичном или приватном реестре. Реестры Timeweb Cloud отображаются в списке автоматически — подключать и настраивать их отдельно не требуется. Для GitHub Container Registry, GitLab Container Registry и Yandex Cloud Registry доступны пресеты подключения. Любой другой реестр можно подключить по URL.

Для приватных образов потребуются имя пользователя и пароль или токен доступа — в зависимости от требований провайдера.

Такой способ подходит, если вы собираете образы самостоятельно или используете готовые образы из реестров контейнеров.

Особенности работы

App Platform автоматически настраивает доступ к приложению через обратный прокси. Порт приложения определяется из метаданных Docker-образа, например EXPOSE, или переменных окружения, если они явно задают порт. Если порт не указан, используется значение по умолчанию.

Сервис направляет трафик с внешних портов 80 и 443 на порт контейнера. Настраивать проксирование вручную не требуется.

Помимо доступа по домену через HTTPS, может быть доступно прямое подключение к сервисным портам по адресу домен:порт. Это полезно для сервисов, которые работают не по HTTP.

При повторном деплое приложение может временно становиться недоступным.

Данные внутри контейнера не сохраняются между деплоями. Для файлов и баз данных используйте внешние хранилища. Подробнее — в статье о принципах работы App Platform.

Образ приложения должен быть собран для платформы linux/amd64. Если образ собран для другой платформы, тогда деплой приложения завершится ошибкой манифеста.

Шаг 1. Выбор реестра и образа

  1. Перейдите в раздел «App Platform» и нажмите «Создать» или «Добавить».

  2. Перейдите на вкладку «Container image».

  3. Выберите источник образа.

Timeweb Cloud Container Registry

Реестры Timeweb Cloud, созданные в вашем аккаунте, доступны без дополнительного подключения:

  1. Выберите «Timeweb Cloud Container Registry».

  2. Выберите нужный реестр из списка.

  3. Выберите образ и укажите тег или дайджест.

Вводить адрес реестра или данные для авторизации не требуется.

Дополнительному пользователю доступны только реестры из тех проектов, к которым у него есть доступ.

При создании первого приложения из реестра App Platform автоматически выпускает сервисный токен для доступа к нему. Если из того же реестра создать другие приложения, для них будет использоваться уже выпущенный токен. Токен автоматически удалится после удаления последнего приложения, которое использует этот реестр.

Пресеты подключения

Для GitHub Container Registry, GitLab Container Registry и Yandex Cloud Registry доступны пресеты подключения. Выберите нужный источник, нажмите «Добавить» и укажите данные для доступа к реестру.

После подключения пользователь, организация или реестр появится в списке. Выберите его, затем выберите образ и укажите тег или дайджест. Повторно вводить данные для доступа не потребуется.

GitHub Container Registry

Укажите пользователя или организацию (namespace) и токен с правом read:packages. Токен используется для поиска образов и тегов в выбранном namespace, а также для скачивания образа при деплое.

При проверке образа App Platform ищет указанный тег только среди последних 500 версий в GitHub Container Registry. Если тег относится к более старой версии, сервис вернет ошибку «образ не найден».

GitLab Container Registry

Укажите пользователя или организацию (namespace) и токен с правами read_api и read_registry. Вместо них можно выдать право api.

Токен используется для поиска образов и тегов в выбранном namespace, а также для скачивания образа при деплое. Для доступа к приватным группам и проектам выпустите токен в аккаунте, у которого есть к ним доступ.

При проверке образа App Platform ищет указанный тег только среди последних 500 версий в GitLab Container Registry. Если тег относится к более старой версии, сервис вернет ошибку «образ не найден».

Yandex Cloud Registry

Укажите ID реестра и API-ключ сервисного аккаунта. Сервисному аккаунту необходимо выдать роль cloud-registry.artifacts.puller на реестр, а API-ключу — область действия yc.cloud-registry.artifacts.pull.

ID реестра — это часть адреса образа после registry.yandexcloud.net/.

Yandex Cloud не передает список образов по API, поэтому путь к образу необходимо указать вручную. Доступные теги App Platform предложит автоматически.

Подключение другого реестра

  1. Выберите «Другой реестр».

  2. Нажмите «Добавить».

  3. Укажите адрес реестра, например registry.example.com или registry.example.com:5000.

  4. Если реестр приватный, укажите логин и пароль или токен с правом на скачивание образов.

  5. Нажмите «Подключить».

Для реестра, подключенного через вариант «Другой реестр», поиск образов и тегов недоступен. Укажите путь к образу и тег вручную — App Platform проверит наличие образа при создании приложения.

В дальнейшем подключенный реестр можно выбрать из списка. Повторно вводить адрес и данные для авторизации не потребуется.

Шаг 2. Регион и конфигурация сервера

Приложения разворачиваются на отдельных облачных серверах. Выберите регион размещения и подходящую конфигурацию сервера.

Вы можете выбрать один из готовых тарифов или настроить конфигурацию вручную на вкладке «Произвольная».

В дальнейшем, если потребуется, вы сможете перейти на более мощный тариф.

Шаг 3. Дополнительные настройки

Переменные

При необходимости задайте переменные окружения: выберите существующие или добавьте новые.

Нажмите «Показать расширенные настройки», чтобы настроить приватную сеть и сертификаты.

Приватная сеть

Выберите приватную сеть, в которую будет добавлено приложение, и укажите IP-адрес, который оно будет использовать. Если сеть не нужна, выберите «Без приватной сети».

Изменить приватную сеть после деплоя нельзя.

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

Сертификаты Минцифры и ТЦИ

Оставьте включенной или отключите установку сертификатов Минцифры и/или ТЦИ. Они могут потребоваться для работы с API российских банков и государственных организаций.

Для приложений из готовых образов App Platform добавляет файлы сертификатов в контейнер. Настроить доверие к ним в приложении необходимо самостоятельно. Подробнее — в инструкции по подключению сертификатов.

Шаг 4. Информация о приложении

Укажите имя приложения и при необходимости добавьте комментарий. Эти данные будут отображаться в панели управления.

Также выберите проект, в который нужно добавить приложение.

Эти настройки можно изменить в дальнейшем.

Шаг 5. Деплой

Нажмите «Заказать». Как только процесс начнется, на вкладке «Деплой» появится лог. Если во время деплоя произойдет ошибка, в логе отобразится ее причина.

При первом развертывании установка сервера может занять некоторое время. После завершения деплоя статус приложения обновится, а в логе появится сообщение об успешном завершении.

IP-адрес приложения и бесплатный технический домен, привязанный к нему по умолчанию, можно найти на вкладке «Дашборд». Для технического домена автоматически выпускается SSL-сертификат Let's Encrypt.

Привязать собственный домен можно по нашей инструкции.

В дальнейшем вы сможете изменить образ, тег и переменные в настройках приложения и выполнить новый деплой.

Была ли статья полезна?
Ваш ответ поможет улучшить документацию
Пока нет комментариев