Хостинг FastAPI

Опубликуйте Python API без администрирования собственного сервера. Запустите FastAPI через Uvicorn, проверьте preview-релиз и переведите проверенную версию в production.

Обновлено: 2026-10-26

От исходников до работающего сервиса

Установите зависимости при сборке. Укажите порт приложения 8080, путь проверки здоровья /health и команду Uvicorn ниже. Не используйте --reload в production.

Как развернуть приложение

1

Подготовьте проект

Добавьте файлы примера или используйте свой проект. Установите зависимости и проверьте команду запуска локально перед деплоем.

2

Настройте приложение

Создайте приложение в своём воркспейсе. Укажите источник, команду запуска, переменные окружения и ресурсы. Для веб-сервиса настройте порт маршрута; polling-бота можно оставить приватным.

3

Проверьте релиз

Запустите деплой и проверьте логи сборки и приложения. Веб-маршруты проверьте по preview-адресу. Polling-боту отправьте /start в Telegram и убедитесь, что токен не используется другим процессом.

4

Опубликуйте и наблюдайте

Переведите проверенный веб-релиз в production. Выполняйте миграции БД отдельно от отката приложения. После обновления следите за ошибками и потреблением ресурсов.

Минимальный пример проекта

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

requirements.txt
fastapi>=0.115,<1
uvicorn>=0.30,<1
main.py
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-реплики и базы данных тоже расходуют ресурсы; отсутствие запросов не означает бесплатное размещение.