Автоопределение FastAPI
Платформа находит fastapi в requirements.txt или pyproject.toml и собирает приложение сама. Dockerfile писать не нужно.
Написали API на FastAPI, а дальше непонятно: сервер, uvicorn, nginx, домен? Подключите репозиторий - Dada Cloud сама увидит FastAPI в requirements.txt, соберёт приложение и запустит. HTTPS-домен выдаётся сразу. Упало - поднимется само. Бесплатный тариф, серверы в России.
Платформа находит fastapi в requirements.txt или pyproject.toml и собирает приложение сама. Dockerfile писать не нужно.
Если в проекте есть uvicorn.run с портом - платформа его вычитает. Нет - возьмёт стандартный 8000. Главное, чтобы приложение слушало 0.0.0.0 и порт из переменной PORT.
После деплоя API доступен по адресу вида имя.dada-tuda.ru с работающим сертификатом. Свой домен подключается за пару минут.
База создаётся в один клик, строка подключения DATABASE_URL появляется в переменных окружения сама.
Если процесс упал с ошибкой, платформа перезапустит его автоматически.
Первое приложение можно держать бесплатно, без привязки карты.
От готового репозитория до рабочего HTTPS-адреса, без настройки сервера.
В requirements.txt или pyproject.toml должен быть пакет fastapi — по нему платформа опознаёт проект и выбирает стандартный порт 8000. Отдельный конфиг для сборки не нужен.
Приложение должно подниматься на 0.0.0.0 и порту из переменной окружения PORT. Если порт зашит в uvicorn.run, платформа вычитает его из кода; фиксированный localhost снаружи недоступен.
Укажите имя и подключите GitHub-репозиторий — либо загрузите zip-архив, если git не используете. Сборка стартует сразу.
Managed-база создаётся в один клик рядом с приложением, DATABASE_URL прокидывается в переменные окружения автоматически — строку подключения собирать руками не нужно.
Обычно 1-2 минуты. После деплоя API доступен по HTTPS-адресу вида имя.dada-tuda.ru, автодокументация FastAPI — по /docs на том же адресе.
Свой домен добавляется за пару минут, сертификат выпускается автоматически. Стартуйте на бесплатном тарифе, переходите на платный, когда API вырастет.
Реальные тарифы платформы и честное сравнение с арендой своего VPS.
| Тариф | Цена | Что входит |
|---|---|---|
| Free | 0 ₽/мес | Одно приложение с базой и доменом, без привязки карты. Ограничение — по объёму ресурсов, а не по сроку действия. |
| Startup | 990 ₽/мес | 5 приложений, 2 базы данных, бэкапы 7 дней — когда API вышел из режима пробы. |
| Business | 2 900 ₽/мес | 20 приложений, 10 баз данных, бэкапы 30 дней, приоритетная поддержка. |
| Свой VPS | сравнимо по железу | За железо VPS часто дешевле. Но uvicorn под supervisor, nginx, обновление сертификатов и перезапуск после падения вы оплачиваете своим временем. |
Честно про ограничения, без общих слов.
Платформа передаёт порт через переменную окружения PORT. Приложение, жёстко прибитое к 127.0.0.1 или к своему порту, соберётся, но снаружи отвечать не будет.
Загруженные пользователями файлы кладите в объектное хранилище или в базу. Локальная файловая система приложения при новой сборке начинается с чистого листа.
BackgroundTasks внутри запроса подходит для секундных операций. Для очередей и долгих задач заводите второе приложение в режиме фонового воркера.
В Dada Cloud: подключаете репозиторий, платформа сама определяет FastAPI, собирает и запускает приложение. Сервер, nginx и сертификаты настраивать не нужно.
Нет. Достаточно requirements.txt или pyproject.toml с fastapi - платформа соберёт приложение сама. Если Dockerfile всё же есть, он будет использован.
Приложение должно слушать 0.0.0.0 и порт из переменной окружения PORT, которую передаёт платформа. Если порт задан в uvicorn.run в коде, платформа его вычитает сама, по умолчанию - 8000.
Создаёте managed PostgreSQL рядом с приложением - DATABASE_URL появится в переменных окружения автоматически, руками собирать строку подключения не нужно.
Да, первое приложение с PostgreSQL и доменом можно держать на бесплатном тарифе без привязки карты.
Ничего дополнительно. FastAPI отдаёт /docs и /redoc сам, а платформа проксирует все пути приложения — Swagger UI открывается по выданному HTTPS-адресу сразу после деплоя. Если документацию нужно закрыть от посторонних, отключайте её в самом приложении параметром docs_url=None.
Так же, как привыкли: командой alembic upgrade head при старте процесса или вручную. Платформа не вмешивается в команду запуска приложения, поэтому цепочка вида alembic upgrade head && uvicorn app:app работает без правок.
Оба варианта. Подключаете GitHub-репозиторий — каждый пуш собирает новую версию. Либо загружаете zip-архив с проектом прямо в консоли, если с git разбираться не хочется.
Фоновый процесс (Celery, arq, свой цикл) создаётся как отдельное приложение в режиме «фоновый воркер» — публичный домен ему не выдаётся. API и воркер живут рядом в одном проекте и видят одну и ту же базу.
Создайте аккаунт и разверните первое приложение. План Free — 0 ₽.