Автоопределение Flask
Платформа находит flask в requirements.txt или setup.py и собирает приложение без Dockerfile.
Сделали сайт или API на Flask, а деплоить некуда? Подключите репозиторий - Dada Cloud увидит flask в requirements.txt, соберёт и запустит приложение, выдаст HTTPS-домен. Упало - поднимется само. Бесплатный тариф, серверы в России.
Платформа находит flask в requirements.txt или setup.py и собирает приложение без Dockerfile.
Порт вычитывается из app.run в коде, по умолчанию - 5000. Приложение должно слушать 0.0.0.0 и порт из переменной PORT.
Приложение получает адрес вида имя.dada-tuda.ru с сертификатом. Свой домен подключается за пару минут.
Managed-база в один клик, DATABASE_URL прокидывается в приложение сам.
Процесс перезапускается автоматически после падения - следить руками не нужно.
Первое приложение можно держать бесплатно, без привязки карты.
Шесть шагов от репозитория до рабочего адреса с сертификатом.
В манифесте зависимостей должен быть пакет flask — по нему платформа опознаёт проект и берёт стандартный порт 5000. Писать Dockerfile не нужно.
Впишите gunicorn в зависимости и запускайте приложение командой gunicorn app:app --bind 0.0.0.0:$PORT. Встроенный сервер Flask оставьте для локальной разработки.
Укажите имя и подключите GitHub-репозиторий либо загрузите zip-архив с проектом. Сборка стартует сразу после создания.
SECRET_KEY, ключи внешних сервисов и режим работы задаются в разделе переменных окружения — в репозиторий их класть не нужно.
Managed-база создаётся в один клик, DATABASE_URL появляется в переменных окружения автоматически — остаётся прочитать её в конфиге приложения.
Через 1-2 минуты приложение доступно по HTTPS-адресу вида имя.dada-tuda.ru. Свой домен подключается за пару минут, сертификат выпускается сам.
Реальные тарифы платформы и честное сравнение с арендой своего VPS.
| Тариф | Цена | Что входит |
|---|---|---|
| Free | 0 ₽/мес | Одно приложение с базой и доменом, без привязки карты. Ограничение — по объёму ресурсов, а не по сроку. |
| Startup | 990 ₽/мес | 5 приложений, 2 базы данных, бэкапы 7 дней — для проекта с реальными пользователями. |
| Business | 2 900 ₽/мес | 20 приложений, 10 баз данных, бэкапы 30 дней, приоритетная поддержка. |
| Свой VPS | сравнимо по железу | VPS дешевле в деньгах за железо. Но gunicorn под supervisor, nginx, сертификаты и перезапуск после падения — это ваше время. |
Честно про ограничения, без общих слов.
app.run поднимет приложение, но обслуживает запросы в один поток. Под реальной нагрузкой ставьте gunicorn — это одна строка в зависимостях и одна в команде запуска.
Порт приходит через переменную окружения PORT. Приложение, прибитое к 127.0.0.1 или к фиксированному порту, соберётся, но снаружи будет недоступно.
Загруженные файлы и SQLite-базу на локальном диске новый деплой не сохранит. Данные — в PostgreSQL, файлы — в объектное хранилище.
В Dada Cloud: подключаете репозиторий, платформа сама собирает и запускает приложение на бесплатном тарифе, без привязки карты.
Нет. Достаточно requirements.txt с flask - платформа соберёт и запустит приложение сама. Есть свой Dockerfile - будет использован он.
Слушайте 0.0.0.0 и порт из переменной окружения PORT. Если порт задан в app.run в коде, платформа его вычитает, по умолчанию - 5000.
Создайте managed PostgreSQL рядом - DATABASE_URL появится в переменных окружения приложения автоматически.
Платформа перезапустит процесс автоматически. Логи видны в панели - можно понять, что случилось.
Для боевой нагрузки лучше gunicorn: пропишите его в requirements.txt и запускайте командой gunicorn app:app --bind 0.0.0.0:$PORT. Встроенный сервер Flask запустится тоже, но он однопоточный и предназначен для разработки.
В настройках приложения есть раздел переменных окружения: SECRET_KEY, ключи внешних сервисов и прочее задаются там и попадают в процесс при старте. Хранить их в репозитории не нужно.
Да. Заархивируйте папку проекта в zip и загрузите её в консоли — платформа найдёт requirements.txt, соберёт и запустит приложение так же, как из репозитория.
В объектное хранилище или в базу. Локальный диск приложения при новой сборке очищается, поэтому пользовательские файлы на нём не переживут следующий деплой.
Создайте аккаунт и разверните первое приложение. План Free — 0 ₽.