Хостинг Streamlit-приложения в России

Собрали дашборд или демо на Streamlit, а Streamlit Cloud из России работает через раз? Задеплойте в Dada Cloud: добавьте Dockerfile из пяти строк - платформа соберёт и запустит приложение, выдаст HTTPS-домен. Бесплатный тариф, серверы в России.

Почему Streamlit деплоят в Dada Cloud

Dockerfile из пяти строк

Готовый шаблон есть в FAQ ниже - скопируйте, закоммитьте, и сборка запустится сама. Порт 8501 платформа возьмёт из EXPOSE.

HTTPS-домен сразу

Дашборд получает адрес вида имя.dada-tuda.ru с сертификатом - можно сразу показать коллегам или клиенту.

Работает из России

Серверы в РФ: не нужен VPN ни вам, ни тем, кому вы отправите ссылку. Оплата рублями, когда вырастете из бесплатного тарифа.

PostgreSQL рядом

Если дашборду нужны данные - managed-база создаётся в один клик, DATABASE_URL прокидывается сам.

Упало - поднимется само

Процесс перезапускается автоматически после падения.

Бесплатный тариф для старта

Первое приложение можно держать бесплатно, без привязки карты.

Как задеплоить Streamlit-дашборд

Шесть шагов от локального app.py до ссылки, которую можно отправить коллеге.

01

Зафиксируйте зависимости

Сохраните requirements.txt командой pip freeze > requirements.txt. Streamlit и всё, что импортирует ваш скрипт, должно быть в этом файле - иначе сборка упадёт на импорте.

02

Добавьте Dockerfile из пяти строк

FROM python:3.12-slim, COPY . ., RUN pip install -r requirements.txt, EXPOSE 8501, CMD streamlit run app.py --server.address 0.0.0.0 --server.port 8501. Положите его в корень репозитория.

03

Создайте приложение и подключите код

Укажите имя приложения в проекте и подключите GitHub-репозиторий. Без git можно загрузить zip-архив - способ равноценный.

04

Задайте секреты в переменных окружения

Ключи API и пароли задаются в консоли и приходят в процесс при старте. Читайте их через os.environ - файл secrets.toml в репозиторий класть не нужно.

05

Дождитесь сборки

Первая сборка занимает 2-3 минуты: платформа ставит зависимости и собирает образ. Прогресс и ошибки видны в логах сборки.

06

Отправьте ссылку

Дашборд доступен по HTTPS-адресу вида имя.dada-tuda.ru - открывается из России без VPN. Свой домен подключается за пару минут.

Сколько стоит хостинг Streamlit

Реальные тарифы платформы и честное сравнение с арендой своего VPS.

ТарифЦенаЧто входит
Free0 ₽/месОдин дашборд с доменом, без привязки карты. Хватает для демо и внутренних отчётов на пару зрителей.
Startup990 ₽/мес5 приложений и 2 базы данных - несколько дашбордов плюс запас памяти под одновременные сессии.
Business2 900 ₽/мес20 приложений, 10 баз данных, бэкапы 30 дней, приоритетная поддержка.
Свой VPSсравнимо по железуVPS дешевле по железу. Но systemd-юнит, nginx, сертификат и перезапуск после падения OOM - это ваше время.

Что важно знать заранее

Три места, где Streamlit-деплой обычно спотыкается.

Слушать нужно 0.0.0.0

По умолчанию streamlit run слушает localhost, и снаружи дашборд будет недоступен. Флаги --server.address 0.0.0.0 --server.port 8501 обязательны - они уже есть в шаблоне выше.

Память кончается раньше CPU

Каждый зритель - отдельная сессия со своей копией состояния, а pandas-датафрейм в кэше живёт в памяти процесса. Тяжёлые данные считайте заранее и храните в PostgreSQL.

Локальные файлы не переживают редеплой

Загруженные через st.file_uploader файлы и CSV, записанные на диск, при новой сборке исчезнут. Результаты складывайте в базу или в объектное хранилище.

Хостинг Streamlit - частые вопросы

Какой Dockerfile нужен для Streamlit?

Пять строк: FROM python:3.12-slim, затем COPY . ., RUN pip install -r requirements.txt, EXPOSE 8501 и CMD streamlit run app.py --server.address 0.0.0.0 --server.port 8501. Закоммитьте его в корень репозитория - платформа соберёт образ сама.

Почему не Streamlit Cloud?

Из России Streamlit Cloud доступен нестабильно, а ссылки на дашборд могут не открываться у коллег. Здесь серверы в РФ - ссылка работает у всех без VPN.

Можно подключить данные?

Да: создайте managed PostgreSQL рядом - DATABASE_URL появится в переменных окружения, читайте её в приложении как обычно.

Что будет, если дашборд упадёт?

Платформа перезапустит процесс автоматически, логи видны в панели.

Есть бесплатный вариант?

Да, первое приложение можно держать на бесплатном тарифе без привязки карты.

Можно задеплоить без git, из zip-архива?

Да. Заархивируйте папку проекта в zip до 100MB и перетащите в консоль - при загрузке архива streamlit в requirements.txt распознаётся, и порт 8501 подставляется автоматически. Для сборки из репозитория надёжнее положить в него Dockerfile.

Как закрыть дашборд от посторонних?

Простой путь - проверка пароля на входе через st.text_input и сравнение с переменной окружения; секрет задаётся в консоли и в репозиторий не попадает. Для внутренних дашбордов этого обычно достаточно.

Дашборд тормозит на больших данных - что делать?

Оберните загрузку данных в st.cache_data, чтобы тяжёлый запрос выполнялся один раз, а не на каждое движение слайдера. Если данных много, поднимите тариф: дашборду обычно упирается в память, а не в CPU.

Несколько человек смотрят дашборд одновременно - выдержит?

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

Дайте вашему коду адрес

Создайте аккаунт и разверните первое приложение. План Free — 0 ₽.

Создать аккаунт