DatanodeDocs
Документация платформы

Одна песочница.
Не только для сайтов.

Datanode — изолированное рабочее пространство в браузере. Храните и редактируйте файлы, запускайте Python, Node.js, PHP и Bash, собирайте прототипы, тестируйте Telegram-ботов и публикуйте веб-проекты.

{ }Код и скрипты

Python, Node.js, PHP и Bash в изолированной среде.

⌁Боты и API

Разработка интеграций, обработчиков и автоматизации.

↗Веб-публикация

Static, PHP, Node.js и Python на собственном домене.

Начало работы · около 2 минут

От Telegram до первой запущенной команды

Весь цикл проходит в браузере. VPS, SSH и ручная настройка Linux для старта не нужны.

  1. 1
    Откройте @datanodehostbot

    Нажмите Start. Бот создаст привязанный аккаунт и выдаст имя и ключ доступа. Это не публичный API-токен.

  2. 2
    Войдите в панель

    Откройте ссылку из бота, введите выданные данные и пройдите проверку Telegram или Authenticator, если она включена.

  3. 3
    Выберите профиль и запустите Sandbox

    Clean подходит для своей структуры; Static, Node.js, Python и PHP создают стартовые файлы. После запуска откроются Files, Editor и Terminal.

  4. 4
    Откройте VS Code в браузере

    Перейдите в Editor. Он работает с теми же файлами, что Files и Terminal, поэтому копировать проект не нужно.

  5. 5
    Запустите Python

    В Terminal выполните python3 --version, затем создайте hello.py и запустите python3 hello.py.

  6. 6
    Добавьте или импортируйте проект

    Загрузите файлы до 50 МБ, создайте их в Files или импортируйте публичный GitHub-репозиторий.

  7. 7
    Опубликуйте сайт, если это нужно

    В Domain выберите Files для Static/PHP или Worker HTTP для Node.js/Python, затем выполните показанную DNS-настройку.

i
Sandbox и публикация — разные вещи

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

Шаблоны

Выберите удобную отправную точку

∅Clean

Минимальная структура: src/, public/, assets/ и README.

</>Static

Готовые HTML, CSS и JavaScript для лендинга, портфолио или документации.

JSNode.js

Express-проект с маршрутами, API, статикой и package.json.

PyPython

Flask-приложение, requirements, шаблоны, статика и пример теста.

PHPPHP

Классический PHP-проект с публичной папкой, конфигурацией и bootstrap.

Профиль создаёт стартовые файлы, но не ограничивает проект: после создания можно менять структуру и использовать другие установленные инструменты.

Files

Управление проектом без FTP

Файловое дерево показывает содержимое workspace и поддерживает основные операции прямо в браузере.

СозданиеФайлы и вложенные папки
ЗагрузкаОдин или несколько файлов
Git importИмпорт публичного GitHub-репозитория
ОрганизацияПереименование, перемещение и удаление
ПоискБыстрый поиск по дереву
РедактированиеПереход к файлу в Editor
!
Сначала запустите песочницу

При остановленном Sandbox файлы и терминал недоступны. Само содержимое workspace при остановке сохраняется.

Editor

Полноценный редактор в браузере

Editor открывается на editor.datanode.host и работает с тем же workspace, что и Files и Terminal.

  • подсветка синтаксиса и работа с несколькими файлами;
  • поиск и навигация по проекту;
  • единые изменения: сохранённый файл сразу виден в Files и Terminal;
  • быстрое открытие конкретного файла из файлового дерева.
Terminal

Запускайте инструменты в изоляции

Терминал выполняет установленные программы внутри Bubblewrap-контейнера. Рабочая директория доступна как /workspace; временные файлы и кэши — как /tmp.

Примеры команд
python3 --version
node --version
php -v

python3 script.py

python3 -m pip install -r requirements.txt
npm install
Пример вывода runtime
$ python3 --version
Python 3.10.16
$ node --version
v24.13.0
$ php -r 'echo PHP_VERSION;'
8.4.23

Встроенные команды

pwd, cd, ls, tree, cat, head, tail, wc, du, mkdir, touch, rm, rmdir, mv, cp и clear.

!
Команда — не фоновый сервер

Один запуск ограничен по времени примерно 10 секундами и CPU-лимитом. Для ботов, серверов и других постоянных процессов используйте Воркеры.

Воркеры

Постоянные процессы в Sandbox

Воркеры запускают один долгоживущий процесс на workspace, перезапускают его по выбранной политике и сохраняют отдельный вывод. Sandbox должен оставаться запущенным.

ПроцессКоманда запускается в том же Bubblewrap-контуре, что Terminal и SSH.
КонтейнерDockerfile или Containerfile собирается через rootless Podman без доступа к host daemon.
Политика перезапускаon-failure, always или never.
Рабочий каталогОтносительный путь внутри /workspace.
Команда воркера для Telegram-бота
python3 bot.py
HTTP-приложение для собственного домена
# Node.js template
npm install
npm start

# Python template
python3 -m pip install -r requirements.txt
python3 app.py
i
Остановка Sandbox останавливает воркер

После повторного запуска Sandbox откройте Воркеры и запустите процесс снова, если его состояние запуска было сброшено.

Логи

Вывод воркера и события машины

Откройте Ещё → Логи. Вкладка объединяет stdout/stderr воркера и журнал действий Sandbox без смешивания с файлами проекта.

Вывод воркераВывод процесса или сборки контейнера с автоматической прокруткой.
События runtimeЗапуски, остановки, статус выполнения команд, файловые операции, API, SSH и snapshots. Текст команд и вывод Terminal/API/SSH не сохраняются в runtime events.
Фильтры источникаВоркер, Терминал, Файлы, API и SSH.
АвтообновлениеОбновление каждые четыре секунды; его можно отключить.
Снимки

Точки восстановления workspace

Каждый аккаунт может хранить до пяти снимков, скачать ZIP-копию, восстановить workspace или удалить ненужную точку.

  1. 1
    Создайте снимок

    Откройте Ещё → Снимки, укажите понятную метку и нажмите «Создать снимок».

  2. 2
    Восстановите при необходимости

    Воркер будет остановлен, а workspace атомарно заменён проверенным содержимым архива.

  3. 3
    Переустановите зависимости

    node_modules, vendor, виртуальные окружения, runtime-кэши и секретные .env-файлы намеренно не входят в снимок.

Снимки создаются пользователем вручную и не являются резервными копиями по расписанию или гарантией хранения.

Доступ

Автоматизация через API и SSH

Публичный API

Создайте токен в Ещё → Доступ. Секрет показывается один раз; каждому токену назначаются отдельные scopes: account, storage, files, execute, logs, workers и snapshots.

API scope files даёт только чтение. execute и workers разрешают выполнение кода; workers также управляет командой запуска. snapshots может заменить код при восстановлении, но Worker остаётся остановленным. Изменение кода через панель, SSH или Editor может повлиять на последующий запуск Worker.

Проверка аккаунта через API
export DATANODE_API_TOKEN='dn_live_...'

curl https://datanode.host/api/v1/account \
  -H "Authorization: Bearer $DATANODE_API_TOKEN"

API v1 предоставляет account, storage, files, files/content, execute, logs, worker и snapshots. Отзывайте неиспользуемые токены в разделе Доступ.

SSH по публичному ключу

Добавьте Ed25519, ECDSA P-256 или security-key public key. SSH использует тот же Bubblewrap-контур и workspace, не выдаёт host-root и запрещает forwarding.

Domain

Публикация веб-проекта

Раздел Domain связывает собственный домен со статическими файлами, PHP-проектом или HTTP-приложением, запущенным через Воркеры.

Подтвердите владение доменом TXT-записью _datanode.ваш-домен со значением из панели Domain. Сохраняйте её: повторная проверка выполняется каждые пять минут. Удаление TXT отключает публикацию после истечения DNS-кэша; смена домена требует новой проверки.

  1. 1
    Выберите источник

    Files публикует Static/PHP из выбранной папки. Worker HTTP направляет запросы в приложение Node.js или Python.

  2. 2
    Подготовьте проект

    Для Files добавьте index.html или index.php. Для Worker HTTP сохраните команду приложения в Воркеры и запустите её.

  3. 3
    Добавьте домен

    Укажите имя без протокола и создайте показанные в панели DNS-записи.

  4. 4
    Проверьте публикацию

    После DNS-проверки откройте домен. Для приложения индикатор HTTP endpoint должен перейти в состояние Ready.

i
Приватный endpoint приложения

В режиме Worker HTTP runtime передаёт DATANODE_HTTP_SOCKET и PORT. Стартовые Node.js и Python-шаблоны используют endpoint автоматически; собственное приложение должно слушать один из этих параметров.

Worker HTTP поддерживает обычные HTTP-запросы. WebSocket upgrade пока не проксируется; размер запроса ограничен 16 МБ, ответа — 32 МБ.

Сценарий

Разработка Telegram-ботов

Sandbox можно использовать для полного цикла работы с ботом: создать проект, установить библиотеку, проверить обработчики и запустить long polling как постоянный worker.

01Python

aiogram, python-telegram-bot или собственный HTTP-клиент.

02Node.js

grammY, Telegraf и другие npm-библиотеки.

03Логика

Команды, клавиатуры, обработка сообщений, API-интеграции и тесты.

Структура Python-бота
telegram-bot/
├── bot.py
├── handlers/
├── requirements.txt
├── .env.example
└── README.md

Безопасное хранение токена

Создайте настоящий .env через Files или Editor, добавьте его в .gitignore и храните в репозитории только .env.example без секретов. Стартовые Node.js и Python-шаблоны загружают .env автоматически.

Секретные .env, .env.local и другие .env.* исключаются из новых snapshots. .env.example, .env.sample и .env.template сохраняются; при восстановлении текущие секретные env-файлы остаются в workspace, о чём панель предупреждает. В API можно передать preserve_secrets: false, чтобы восстановить snapshot без текущих секретов.

↻
Запускайте бот через Воркеры

Сохраните команду python3 bot.py или node bot.js, выберите политику перезапуска и следите за процессом во вкладке Логи.

Возможности

Что ещё можно делать в Sandbox

АвтоматизацияСкрипты и обработка данных

Небольшие Python-, Node.js- и Bash-задачи, преобразование JSON/CSV, генераторы файлов.

APIКлиенты и интеграции

Проверка HTTP-запросов, прототипирование логики API и обработка ответов.

СборкаСборка фронтенда

npm-зависимости, генерация статики и подготовка файлов к публикации.

ОбучениеЭксперименты и обучение

Небольшие программы, алгоритмы, тесты библиотек и учебные проекты.

КонтентГенераторы и документация

Markdown, статические страницы, документация проекта и портфолио.

GitРабота с репозиториями

Импорт проекта, чтение кода, правки и локальная проверка.

Прозрачность

Как запрос доходит до Sandbox

Архитектура специально остаётся короткой: каждый слой отвечает за одну понятную задачу.

Telegramличность→GatewayTLS и маршрутизация→Panel/API/SSHсессия и доступ→SandboxBubblewrap или rootless-контейнер→Storageworkspace аккаунта
i
Это не VM и не VPS

Terminal, Воркеры, выполнение через API и SSH работают без host-root. Системные каталоги доступны read-only; запись ограничена workspace и runtime-кэшами.

Подробности о сети, логах, удалении и бэкапах опубликованы на странице безопасности. Статус компонентов — на Status.

Важно знать

Границы окружения

/workspace

Постоянные файлы проекта. Они сохраняются между сессиями.

/tmp

Временное изолированное хранилище. Не используйте его для важных данных.

≈ 10 секунд

Типичный предел одной команды Terminal; также действует CPU-лимит.

Лимит аккаунта

Объём workspace зависит от квоты, указанной в вашей панели.

1 воркер

Один независимо управляемый постоянный процесс на workspace.

5 снимков

До пяти ручных точек восстановления; зависимости, кэши и секретные env-файлы исключаются.

  • песочница не имеет прямого доступа к файловой системе хоста;
  • системные директории подключены только для чтения;
  • доступ на изменение ограничен workspace, временной директорией и runtime-кэшами;
  • не публикуйте токены, пароли, приватные ключи и резервные коды.
Помощь

Если что-то не работает

Files или Terminal недоступны

Вернитесь на Main и запустите Sandbox. После перехода в состояние Online обновите нужную вкладку.

Команда завершилась по timeout

Разбейте задачу на короткие шаги. Dev-сервер, long polling или бесконечный цикл запускайте через Воркеры, а не Terminal.

Домен показывает пустой проект

Для Files проверьте выбранную папку и точку входа. Для Worker HTTP проверьте состояние worker, HTTP endpoint и последние логи. В обоих режимах DNS-проверка должна быть завершена.

Сайт не обновился после правки

Сохраните файл в Editor, убедитесь, что редактируется нужный workspace, и выполните жёсткое обновление страницы в браузере.

Воркер не запускается

Проверьте, что Sandbox Online, команда и рабочий каталог существуют. Для режима Контейнер проверьте Dockerfile, затем откройте Логи.

После восстановления не найдены зависимости

Это ожидаемо: снимки исключают каталоги зависимостей и кэши. Повторно выполните npm install, composer install или установку Python requirements.

SSH не подключается

Проверьте, что публичный ключ добавлен в разделе Доступ, а Sandbox находится в состоянии Online.

Datanode Docs

Документация соответствует текущим возможностям платформы.

План развития →