Установка Streamlit и Gradio на сервер: коротко и с данными
Конспект страницы: 6 разделов коротко, данные на 14 октября 2026 и ответы на 5 вопросов. Полный разбор с примерами: Установка Streamlit и Gradio на сервер.
Коротко
Главная / Разработка / Streamlit и Gradio Установка Streamlit на сервер занимает две команды: pip install streamlit и streamlit run app.py, после чего приложение отвечает на порту 8501. Чтобы оно работало постоянно и открывалось по домену, его запускают службой systemd или в Docker и ставят перед ним Nginx, который умеет проксировать WebSocket. Gradio размещают так же, меняется порт и адрес.
Конспект по разделам
Установка Streamlit на Ubuntu: venv, pip и первый запуск
Без параметра --server.address Streamlit слушает только локальный адрес сервера, и снаружи он недоступен. Для постоянной работы команду вписывают в ExecStart службы systemd, образец записан на странице хостинг с поддержкой Python.
- Создайте окружение и включите его: на Ubuntu для этого нужен пакет python3-venv.
- Поставьте Streamlit и сохраните зависимости в requirements.txt.
- Напишите приложение из нескольких строк и запустите его.
- Откройте порт 8501 на время проверки или сразу ставьте прокси, как описано ниже.
Streamlit за Nginx: WebSocket, пароль и HTTPS
Streamlit общается с браузером по WebSocket, то есть постоянному двустороннему соединению. Обычный proxy_pass его обрывает, поэтому в блок добавляют заголовки и увеличенный таймаут: Две последние строки включают пароль на уровне Nginx. Файл с логинами создаёт утилита htpasswd из пакета apache2-utils.
Streamlit в Docker: Dockerfile и проверка здоровья
В документации Streamlit проверка здоровья вызывает curl по адресу /_stcore/health. В образе slim curl нет, поэтому выше она сделана средствами Python. Для запуска на VPS публикуйте порт только на локальном адресе: -p 127.0.0.1:8501:8501, а наружу приложение выставляйте через Nginx.
Gradio на сервере: порт 7860, server_name и share
Gradio нужен для интерфейса к модели: поле ввода, кнопка и результат. По умолчанию он слушает порт 7860 и только локальный адрес. Чтобы его было видно снаружи контейнера, вызывают demo.launch(server_name="0.0.0.0", server_port=7860) или задают переменные GRADIO_SERVER_NAME и GRADIO_SERVER_PORT.
Где разместить Streamlit: платформа деплоя или VPS
Для приложения без особых требований подойдёт платформа деплоя из Git: Python-приложения собираются из Dockerfile, как выше, тарифы App Platform от 1 ₽ в месяц на 14 октября 2026. VPS выбирают, когда рядом нужны база данных, файлы или модель в памяти. У самого Streamlit есть облачный сервис для публичных приложений из GitHub, но закрытые данные и постоянная работа лучше чувствуют себя на своём сервере.
Задеплойте приложение из репозитория
Подключите репозиторий, выберите фреймворк или Docker, домен и SSL выдаются сразу.
- React, Vue, Next.js, Nuxt, Angular, Svelte
- Любой стек через Docker
- Откат к прошлой версии одной кнопкой
- Бесплатный SSL с автопродлением
Вопросы и ответы
Как установить 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 и модели в памяти требуют больше, добавляйте под их размер.