Настройка Tailscale

Клиенту на сайте (роль Client) Tailscale не нужен — только браузер. Tailscale настраивает владелец GPU и администратор сервера: так VPS достучится до видеокарты на вашем ПК.

Кому что нужно

Клиент на gpugrid.duckdns.orgТолько регистрация, баланс, создание задачи в кабинете. Tailscale не устанавливает.
ПК с NVIDIA (исполнитель)Tailscale + ACE-Step на порту 8001. ПК должен быть включён.
VPS (сервер платформы)Tailscale + переменные ACE_STEP_* в .env, перезапуск gpugrid-api.

Пошаговая настройка

  1. 1. Один аккаунт Tailscale

    Зарегистрируйтесь на tailscale.com (бесплатный план до 100 устройств). Запомните email — его используете на VPS и на ПК.

  2. 2. Tailscale на VPS (Linux)

    На сервере, где крутится gpugrid:

    curl -fsSL https://tailscale.com/install.sh | sh
    sudo tailscale up
    tailscale status
  3. 3. Tailscale на ПК с GPU (Windows)

    Скачайте установщик с tailscale.com/download → Windows. Войдите в тот же аккаунт. В трее Tailscale статус Connected.

    REM В PowerShell на ПК — узнать Tailscale-IP:
    tailscale ip -4

    Запишите IP вида 100.x.x.x — он понадобится на сервере.

  4. 4. Проверка связи VPS → ПК

    С VPS выполните (подставьте IP вашего ПК):

    ping -c 3 100.90.12.61
    curl -s -o /dev/null -w "%{http_code}" --max-time 5 http://100.90.12.61:8001/v1/stats

    До запуска ACE-Step curl может вернуть ошибку — это нормально. Главное, чтобы ping шёл через Tailscale.

  5. 5. ACE-Step на ПК

    На машине с видеокартой (Python 3.11–3.12, NVIDIA 8GB+ VRAM):

    git clone https://github.com/ace-step/ACE-Step-1.5.git
    cd ACE-Step-1.5
    uv sync
    set ACESTEP_API_KEY=ваш-секретный-ключ
    uv run acestep-api

    API слушает http://0.0.0.0:8001. Окно не закрывайте, пока клиенты создают задачи.

  6. 6. Один и тот же API-ключ

    Ключ ACESTEP_API_KEY на ПК должен совпадать с ACE_STEP_API_KEY на VPS. Придумайте длинную случайную строку.

  7. 7. Настройка gpugrid на VPS

    Файл /home/user/gpugrid/.env (или переменные в deploy):

    ACE_STEP_REMOTE_URL=http://100.90.12.61:8001
    ACE_STEP_API_KEY=ваш-секретный-ключ
    ACE_STEP_MODEL=acestep-v15-turbo
    ACE_STEP_TIMEOUT_MS=900000
    pm2 restart gpugrid-api

    Вместо 100.90.12.61 — Tailscale-IP вашего ПК. Перезапуск API:

  8. 8. Проверка «всё работает»

    На сервере:

    curl -s http://127.0.0.1:4010/api/health

    Нужно: "remote_gpu": true и "remote_gpu_online": true. На сайте в кабинете клиента — зелёный статус Remote GPU.

  9. 9. Что делает клиент на сайте

    После настройки Tailscale клиенту платформы достаточно: войти → Top up → New job (lyrics в описании) → дождаться completed → скачать MP3. Никакого VPN на стороне клиента.

Брандмауэр на ПК

Разрешите входящий TCP 8001 только для интерфейса Tailscale или подсети 100.64.0.0/10. Не открывайте порт 8001 в интернет без авторизации.

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

remote_gpu_online: false
Запустите acestep-api на ПК. Проверьте tailscale status на обоих устройствах — оба Connected.
Timeout при генерации
Увеличьте ACE_STEP_TIMEOUT_MS=900000. ПК не ушёл в сон. Закройте тяжёлые игры, освободите VRAM.
ping не идёт
Разные аккаунты Tailscale, или на VPS tailscale не поднят. Выполните sudo tailscale up снова.
401 от GPU
ACE_STEP_API_KEY на VPS и ACESTEP_API_KEY на ПК должны совпадать.