Хостинг Python-приложений

Запускайте Python API, ботов и воркеры в облаке. Для серверного процесса выберите постоянно работающее приложение, а для обработки запроса или работы по расписанию — функцию и пайплайн.

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

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

В примере — веб-приложение Flask под Gunicorn. Добавьте оба файла в проект, установите requirements.txt на этапе сборки и используйте команду ниже для запуска сервера.

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

1

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

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

2

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

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

3

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

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

4

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

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

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

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

requirements.txt
Flask>=3,<4
gunicorn>=23,<24
app.py
from flask import Flask

app = Flask(__name__)

@app.get("/health")
def health():
    return {"ok": True}

@app.get("/")
def index():
    return {"message": "Hello from Python"}
Команда запуска
gunicorn --bind 0.0.0.0:8080 app:app

Подберите режим под задачу

Сервер Flask или FastAPI запускайте как приложение. Polling-бот или обработчик очереди — постоянно работающий приватный сервис. Конечную обработку данных можно выполнить функцией, а регулярную задачу — запускать пайплайном по расписанию.

Опишите зависимости и хранение

Перечислите пакеты в requirements.txt. Для воспроизводимых сборок зафиксируйте точные версии, на которых проверили проект. Строки подключения храните в переменных окружения, постоянные файлы — на подключённом томе.

Частые вопросы

Можно ли разместить существующий Python-проект?

Да: укажите зависимости, рабочую директорию и команду запуска. Для проектов с системными пакетами можно использовать Dockerfile. Скрипт, который завершается после выполнения, оформляйте как задачу, а не постоянно работающий веб-сервер.

Почему приложение работает локально, но не в облаке?

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

Включена ли база данных в Python-хостинг?

Пример не создаёт базу данных. Разверните или подключите её отдельно и передайте приложению строку подключения. При планировании пула учитывайте CPU, память и диск для БД.

Сколько стоит размещение?

Актуальные тарифы и доступные предложения оплаты смотрите в разделе «Тариф и оплата». Планируйте ресурсы приложения и его зависимостей в рамках общего пула. Preview-реплики и базы данных тоже расходуют ресурсы; отсутствие запросов не означает бесплатное размещение.