Главная/Разработка/Streamlit и Gradio

Установка Streamlit и Gradio на сервер

Установка Streamlit на сервер занимает две команды: pip install streamlit и streamlit run app.py, после чего приложение отвечает на порту 8501. Чтобы оно работало постоянно и открывалось по домену, его запускают службой systemd или в Docker и ставят перед ним Nginx, который умеет проксировать WebSocket. Gradio размещают так же, меняется порт и адрес.

4 мин чтенияДанные проверены 16 октября 2026

Ответ за 30 секунд

Streamlit запускают командой streamlit run под systemd или в контейнере и закрывают Nginx. Прокси обязан пропускать WebSocket: без заголовков Upgrade страница бесконечно показывает «Connecting». Приложение открыто всем, у кого есть адрес, поэтому добавьте пароль.

Dockerfile в репозитории: платформа соберёт образ, привяжет домен и выдаст SSL.

Где разместить Streamlit: платформа деплоя или VPS

01 · 1 мин

Установка Streamlit на Ubuntu: venv, pip и первый запуск#

  1. Создайте окружение и включите его: на Ubuntu для этого нужен пакет python3-venv.
  2. Поставьте Streamlit и сохраните зависимости в requirements.txt.
  3. Напишите приложение из нескольких строк и запустите его.
  4. Откройте порт 8501 на время проверки или сразу ставьте прокси, как описано ниже.
pip install streamlit
pip freeze > requirements.txt
streamlit run app.py --server.address 0.0.0.0
import streamlit as st

st.title("Отчёт по заказам")
st.line_chart({"заказы": [3, 5, 4, 8]})

Без параметра --server.address Streamlit слушает только локальный адрес сервера, и снаружи он недоступен. Для постоянной работы команду вписывают в ExecStart службы systemd, образец записан на странице хостинг с поддержкой Python.

02 · 1 мин

Streamlit за Nginx: WebSocket, пароль и HTTPS#

Streamlit общается с браузером по WebSocket, то есть постоянному двустороннему соединению. Обычный proxy_pass его обрывает, поэтому в блок добавляют заголовки и увеличенный таймаут:

location / {
    proxy_pass http://127.0.0.1:8501;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_read_timeout 86400;
    auth_basic "Закрыто";
    auth_basic_user_file /etc/nginx/.htpasswd;
}

Две последние строки включают пароль на уровне Nginx. Файл с логинами создаёт утилита htpasswd из пакета apache2-utils. Сертификат выпускает Certbot, установка веб-сервера описана на странице Nginx.

03 · 1 мин

Streamlit в Docker: Dockerfile и проверка здоровья#

FROM python:3.13-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 8501
HEALTHCHECK CMD python -c "import urllib.request as u; u.urlopen('http://localhost:8501/_stcore/health')"
ENTRYPOINT ["streamlit", "run", "app.py", "--server.port=8501", "--server.address=0.0.0.0"]

В документации Streamlit проверка здоровья вызывает curl по адресу /_stcore/health. В образе slim curl нет, поэтому выше она сделана средствами Python. Для запуска на VPS публикуйте порт только на локальном адресе: -p 127.0.0.1:8501:8501, а наружу приложение выставляйте через Nginx.

04 · 1 мин

Gradio на сервере: порт 7860, server_name и share#

Gradio нужен для интерфейса к модели: поле ввода, кнопка и результат. По умолчанию он слушает порт 7860 и только локальный адрес. Чтобы его было видно снаружи контейнера, вызывают demo.launch(server_name="0.0.0.0", server_port=7860) или задают переменные GRADIO_SERVER_NAME и GRADIO_SERVER_PORT.

Параметр share=True создаёт временную публичную ссылку через сервис Gradio. На своём сервере он не нужен: домен и HTTPS дают прокси. Если Gradio запускает языковую модель, оцените память по странице установка Ollama, а для тяжёлых моделей посмотрите серверы с видеокартой.

Инструмент · 1 мин

Где разместить Streamlit: платформа деплоя или VPS#

Для приложения без особых требований подойдёт платформа деплоя из Git: Python-приложения собираются из Dockerfile, как выше, тарифы App Platform от 1 ₽ в месяц на 14 октября 2026. VPS выбирают, когда рядом нужны база данных, файлы или модель в памяти. У самого Streamlit есть облачный сервис для публичных приложений из GitHub, но закрытые данные и постоянная работа лучше чувствуют себя на своём сервере.

Какой сервер взять под Streamlit или Gradio

Три ответа, и калькулятор подберёт готовую конфигурацию

Сколько людей работает одновременно
Какие данные открывает приложение
Есть ли модели

06 · 1 мин

Вопросы об установке Streamlit и Gradio#

Как установить Streamlit на сервер и открыть его из браузера?

Поставить пакет через pip, запустить streamlit run app.py с параметром --server.address 0.0.0.0 и открыть порт 8501. Для постоянной работы лучше поставить Nginx и домен.

Почему Streamlit за Nginx бесконечно показывает Connecting?

Прокси не пропускает WebSocket. Добавьте proxy_http_version 1.1 и заголовки Upgrade и Connection в блок location.

Чем Gradio отличается от Streamlit при размещении на сервере?

Порт 7860 вместо 8501 и запуск через demo.launch с параметром server_name. Прокси, systemd и Docker настраиваются так же.

Как закрыть Streamlit-приложение паролем на сервере?

Проще всего Basic-авторизацией в Nginx. Если нужны личные кабинеты, логин реализуют в самом приложении.

Сколько памяти нужно Streamlit на VPS?

Для приложения на несколько человек без моделей хватит 1-2 ГБ. Большие таблицы pandas и модели в памяти требуют больше, добавляйте под их размер.

Почему этому можно верить

Как мы проверяли

Цены с сайта провайдераСняты вручную, у каждой цены указана дата проверки.
Всё можно повторитьКоманды и расчёты описаны так, что их повторит любой читатель.
Независимый справочникНе связан с разработчиками приложений и провайдерами и пишет о минусах тоже.

Источники цифр на этой странице: App Platform Таймвеб Клауд, timeweb.cloud/services/apps, проверено 14 октября 2026; Документация Streamlit: развёртывание в Docker, docs.streamlit.io/deploy/tutorials/docker, проверено 15 октября 2026.

SBРедакция SelfBase · обновлено 16 октября 2026

Задеплойте приложение из репозитория

Подключите репозиторий, выберите фреймворк или Docker, домен и SSL выдаются сразу.

  • React, Vue, Next.js, Nuxt, Angular, Svelte
  • Любой стек через Docker
  • Откат к прошлой версии одной кнопкой
  • Бесплатный SSL с автопродлением
Где запускать