Хостинг FastAPI
Опубликуйте Python API без администрирования собственного сервера. Запустите FastAPI через Uvicorn, проверьте preview-релиз и переведите проверенную версию в production.
Обновлено: 2026-10-26
От исходников до работающего сервиса
Установите зависимости при сборке. Укажите порт приложения 8080, путь проверки здоровья /health и команду Uvicorn ниже. Не используйте --reload в production.
Как развернуть приложение
Подготовьте проект
Добавьте файлы примера или используйте свой проект. Установите зависимости и проверьте команду запуска локально перед деплоем.
Настройте приложение
Создайте приложение в своём воркспейсе. Укажите источник, команду запуска, переменные окружения и ресурсы. Для веб-сервиса настройте порт маршрута; polling-бота можно оставить приватным.
Проверьте релиз
Запустите деплой и проверьте логи сборки и приложения. Веб-маршруты проверьте по preview-адресу. Polling-боту отправьте /start в Telegram и убедитесь, что токен не используется другим процессом.
Опубликуйте и наблюдайте
Переведите проверенный веб-релиз в production. Выполняйте миграции БД отдельно от отката приложения. После обновления следите за ошибками и потреблением ресурсов.
Минимальный пример проекта
Примеры показывают код и запуск приложения, а не готовый шаблон инфраструктуры. Перед использованием в production проверьте и зафиксируйте версии зависимостей.
fastapi>=0.115,<1 uvicorn>=0.30,<1
from fastapi import FastAPI app = FastAPI() @app.get("/health") def health(): return {"ok": True} @app.get("/items/{item_id}") def read_item(item_id: int): return {"item_id": item_id}
uvicorn main:app --host 0.0.0.0 --port 8080
Проверьте API до публикации
Откройте /health, /items/1 и /docs по preview-адресу. Для своих маршрутов проверьте авторизацию и подключение к БД до публикации релиза. Один HTTP healthcheck не проверяет бизнес-операции.
Отделяйте запросы от длительной работы
FastAPI BackgroundTasks выполняется в процессе приложения. Если задача должна переживать перезапуск, используйте постоянную очередь или пайплайн платформы с явными статусами и повторными попытками.
Частые вопросы
Будет ли работать Swagger UI?
В примере доступны /docs и /openapi.json — стандартные маршруты FastAPI. Решите, должны ли они быть публичными в production: для закрытой документации настройте авторизацию или отключите эти маршруты.
Как подключить PostgreSQL?
Задайте URL базы в окружении и прочитайте его в клиенте БД. Миграции схемы выполняйте отдельным контролируемым шагом. Публикация или откат кода приложения не откатывает изменения базы.
Сколько процессов Uvicorn запускать?
Начните с одного процесса, как в примере, и измерьте потребление памяти и задержку запросов. Каждый дополнительный процесс отдельно загружает состояние приложения. Добавляйте процессы или реплики с учётом выделенных CPU и памяти.
Сколько стоит размещение?
Актуальные тарифы и доступные предложения оплаты смотрите в разделе «Тариф и оплата». Планируйте ресурсы приложения и его зависимостей в рамках общего пула. Preview-реплики и базы данных тоже расходуют ресурсы; отсутствие запросов не означает бесплатное размещение.