Работа с портами и проксированием
В DSLab можно запускать веб-приложения и API-сервисы прямо внутри проекта. Чтобы такие сервисы были доступны извне, используется система проксирования.
Как это работает
Когда вы запускаете сервер внутри проекта (например, FastAPI или фронтенд-дев-сервер), он начинает слушать определённый порт, например 3000.
Чтобы получить внешний URL, нужно открыть вкладку Порты в интерфейсе VS Code. Там автоматически появится запись о запущенном процессе с номером порта и сгенерированной ссылкой вида:
https://<случайный-хост>.dslab.tech/proxy/<ваш-порт>Эта ссылка — уникальна для каждой сессии и именно её нужно использовать для доступа к вашему приложению.
Важно: получить адрес заранее по шаблону https://<ваш-домен>/proxy/3000/ нельзя. URL всегда определяется системой при запуске и отображается только на странице Порты.

Примеры использования
Веб-приложение на Flask / FastAPI
uvicorn app:app --host 0.0.0.0 --port 3000
После запуска в разделе Порты появится ссылка на внешний адрес. Перейдя по ней, вы увидите запущенное приложение.
Jupyter Notebook с кастомным сервером
Если вы запустили дополнительный сервер внутри ноутбука на порту 8080, в списке портов появится соответствующая ссылка.
Frontend (React, Vue, Angular)
Например, при запуске Vite на localhost:5173 внешний доступ будет доступен по автоматически сгенерированному URL для порта 5173.
Важные моменты
Поддерживаемые порты
Обычно доступны порты в диапазоне 1024–65535. Чаще всего используются стандартные (3000, 8080, 5000, 5173 и т. д.).
Несколько портов
Можно запускать сразу несколько сервисов, каждому будет соответствовать своя строка и своя уникальная ссылка во вкладке Порты.
HTTPS по умолчанию
Все внешние ссылки доступны только по защищённому протоколу HTTPS.
Внутренний доступ
Изнутри проекта сервисы доступны по localhost:<порт>, как в обычной локальной среде.
Автоматическая остановка
Если проект неактивен (нет вычислительных процессов), он будет остановлен через 40 минут, и все порты перестанут быть доступны.
Когда использовать
Для тестирования API-сервисов.
Для просмотра интерфейсов веб-приложений.
Для запуска временных фронтенд/бэкенд-сервисов при разработке.
Для проверки прототипов перед деплоем.
Последнее обновление