---
title: "App Platform: принципы работы сервиса для деплоя приложений в облаке"
description: "Принципы работы App Platform. Документация и инструкции по использованию и настройке облачных сервисов Timeweb Cloud."
---

# Принципы работы

> Полный индекс документации для ИИ-агентов: [llms.txt](https://timeweb.cloud/llms.txt).

Основная функция сервиса приложений — автоматический деплой. App Platform автоматически выгружает на сервер код вашего сайта, API-сервиса, приложения и т.п. 

Процесс работы с App Platform при использовании **backend-фреймворков** выглядит так:

1.  **Подключение репозитория**: Вы подключаете репозиторий к Timeweb Cloud, выполняя вход в свой аккаунт на [GitHub, GitLab или Bitbucket](https://timeweb.cloud/docs/apps/connecting-repositories#podkluchenie-repozitoriya-iz-gitlab-github-ili-bitbucket), или [по ссылке](https://timeweb.cloud/docs/apps/connecting-repositories#podkluchenie-repozitoriya-po-ssylke).
    
2.  **Подтягивание кода и установка зависимостей**: Сервис автоматически подтягивает код из указанного репозитория и устанавливает необходимые зависимости, указанные в специальных файлах — таких как `requirements.txt` для Python или `package.json` для Node.js.
    
3.  **Сборка приложения**: Сервис определяет параметры сборки для вашего приложения и собирает его.
    
4.  **Запуск в Docker-контейнере**: После сборки запускается Docker-контейнер с подходящим окружением, внутри которого работает ваше приложение.
    
5.  **Настройка Nginx**: App Platform автоматически настраивает Nginx для проксирования вашего домена на запущенное приложение.
    

При выполнении `git push` в ваш репозиторий (при включенном автодеплое) процесс начинается заново — начиная со второго этапа: сервис подтягивает код, ставит зависимости, собирает приложение и так далее.

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

#### Управление данными при использовании App Platform

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

-   **Файлы и медиа**: Если ваше приложение позволяет пользователям или администратору загружать файлы или медиа-контент, рекомендуется сохранять их в хранилище, таком как [S3](https://timeweb.cloud/docs/s3-storage). Это гарантирует, что данные останутся доступными после обновления или повторного деплоя приложения.
    
-   **Базы данных**: В качестве базы данных также следует использовать внешние решения, такие как [облачные базы данных](https://timeweb.cloud/docs/dbaas) или отдельные серверы баз данных, чтобы информация не терялась при обновлении контейнера.
    

К приложению будет привязан бесплатный технический домен с SSL-сертификатом Let's Encrypt, который можно использовать для тестирования работы и, если вам это подходит, — для запросов к приложению. В дальнейшем вы сможете привязать к приложению [свой домен](https://timeweb.cloud/docs/apps/upravlenie-apps-v-paneli#privyazka-domena). При этом установить собственный или платный SSL-сертификат для домена нельзя.

Работа сервиса с **frontend-приложениями** имеет одно важное отличие от backend-приложений — после сборки мы не создаем Docker-контейнер, приложение хранится в директории на сервере. Такое приложение — это статические файлы, которые отдаются клиентам с сервера.

Однако, в отличие от обычного размещения приложения на сервере, где вам нужно самостоятельно настраивать окружение, сервис App Platform, как и в случае с бэкенд-приложениями, сделает всё за вас:

-   «подтянет» код из репозитория, 
    
-   установит зависимости и ПО, 
    
-   настроит Nginx, 
    
-   выпустит SSL-сертификат,
    
-   выполнит сборку вашего приложения.
    

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