Платформенный гид

Подключить агент флота

Агент флота — маленький демон на другом VPS, позволяющий Dockstash резервировать контейнеры и той машины. Агент сам стучится домой по HTTPS — входящие порты у вас не открываются — и выполняет тот же конвейер «дамп, затем restic», что и основной сервер. Мульти-VPS-флот — функция тарифа Business.

Шаг за шагом

Как это сделать

  1. Откройте экран Fleet

    В панели перейдите в Fleet. Экран показывает каждый зарегистрированный агент со статусом онлайн/офлайн, версией и последним heartbeat.

  2. Зарегистрируйте агент

    Нажмите Register agent, задайте имя и хост. В том же диалоге заполните поле Project directories — где на том VPS живут ваши Compose-проекты (по умолчанию /var/www): агент будет находить, резервировать и восстанавливать только внутри этих каталогов.

  3. Скопируйте одноразовый токен

    Регистрация чеканит токен вида dsa_<agentId>.<secret> и показывает его ровно один раз — на сервере он хранится лишь как HMAC с ключом и никогда не может быть получен снова. Скопируйте сейчас. Потеряли — используйте Rotate key в строке агента: старый токен перестаёт работать в момент чеканки нового.

  4. Установите агент на VPS

    Диалог регистрации показывает готовый docker-compose-блок с вашим токеном и каталогами проектов. Вставьте его на целевом VPS и запустите. Встроенный docker-socket-proxy даёт агенту доступ к Docker по принципу минимальных привилегий (только контейнеры + exec) — сырой сокет он не трогает.

    docker compose -f docker-compose.agent.yml pull docker compose -f docker-compose.agent.yml up -d --force-recreate
  5. Проверьте монтирование каталогов проектов

    Каждый указанный каталог должен быть также bind-смонтирован на чтение-запись в compose (одинаковый путь внутри и снаружи) — восстановления пишут файлы обратно. Чтобы добавить каталог позже, откройте диалог Setup агента, добавьте его и повторно выполните показанную compose-команду.

  6. Убедитесь, что агент онлайн

    Примерно за 30 секунд придёт первый heartbeat, и строка Fleet переключится в онлайн. Если остаётся офлайн — проверьте, что оба контейнера запущены и ваш адрес Dockstash доступен с VPS.

    docker compose -f docker-compose.agent.yml ps
  7. Назначьте проект агенту

    Откройте вкладку Plan проекта и установите «Runs on» на нового агента (по умолчанию — «This server (local)»). С этого момента плановые и ручные копии проекта берёт и выполняет агент, стримя живые логи обратно в вашу панель.

Сделайте это в один клик с Dockstash

Dockstash выполняет ровно тот дамп, что выше, передаёт его restic вовне и автоматически проверяет восстановление тренировкой — без скриптов на поддержке.

Последнее обновление: July 2026

Часто задаваемые вопросы

Подключается ли сервер Dockstash к моему VPS?

Нет. Связь только исходящая: агент опрашивает и шлёт heartbeat по HTTPS с Bearer-токеном. Вы не открываете входящих портов, и сервер никогда не звонит вашей машине.

Что агент видит на моём сервере?

Только то, что вы разрешили. Доступ к файлам ограничен настроенными каталогами проектов (их нужно явно смонтировать), а доступ к Docker идёт через прокси сокета, открывающий лишь список контейнеров и exec — ни сборок образов, ни монтирования томов, ни root на хосте.

Что будет, если агент умрёт посреди копии?

У каждой задачи есть аренда (по умолчанию 15 минут, продлевается, пока идут логи). Истекла — задача помечается проваленной и уходит оповещение; тихих повторов не бывает, вы всегда знаете, что запуск не завершился.

Работают ли тренировки восстановления на агентах флота?

Пока нет — тренировки выполняются на основном сервере. Резервирование, проверка (restic check), prune и восстановление на агенте работают.

Я ротировал ключ, и агент ловит 401. Что делать?

Запущенный контейнер держит старый токен. Обновите DOCKSTASH_AGENT_TOKEN в docker-compose.agent.yml и пересоздайте контейнер. Ротация сразу отзывает старый токен — так задумано.