Главная/Разработка/Streamlit и Gradio
Установка Streamlit и Gradio на сервер
Установка Streamlit на сервер занимает две команды: pip install streamlit и streamlit run app.py, после чего приложение отвечает на порту 8501. Чтобы оно работало постоянно и открывалось по домену, его запускают службой systemd или в Docker и ставят перед ним Nginx, который умеет проксировать WebSocket. Gradio размещают так же, меняется порт и адрес.
Ответ за 30 секунд
Streamlit запускают командой streamlit run под systemd или в контейнере и закрывают Nginx. Прокси обязан пропускать WebSocket: без заголовков Upgrade страница бесконечно показывает «Connecting». Приложение открыто всем, у кого есть адрес, поэтому добавьте пароль.
Dockerfile в репозитории: платформа соберёт образ, привяжет домен и выдаст SSL.
Где разместить Streamlit: платформа деплоя или VPS8501порт Streamlit по умолчанию
7860порт Gradio по умолчанию
/_stcore/healthадрес проверки для Docker
01 · 1 мин
Установка Streamlit на Ubuntu: venv, pip и первый запуск#
- Создайте окружение и включите его: на Ubuntu для этого нужен пакет python3-venv.
- Поставьте Streamlit и сохраните зависимости в requirements.txt.
- Напишите приложение из нескольких строк и запустите его.
- Откройте порт 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;
}
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.
Задеплойте приложение из репозитория
Подключите репозиторий, выберите фреймворк или Docker, домен и SSL выдаются сразу.
- React, Vue, Next.js, Nuxt, Angular, Svelte
- Любой стек через Docker
- Откат к прошлой версии одной кнопкой
- Бесплатный SSL с автопродлением