Настройка Tailscale
Клиенту на сайте (роль Client) Tailscale не нужен — только браузер. Tailscale настраивает владелец GPU и администратор сервера: так VPS достучится до видеокарты на вашем ПК.
Кому что нужно
| Клиент на gpugrid.duckdns.org | Только регистрация, баланс, создание задачи в кабинете. Tailscale не устанавливает. |
| ПК с NVIDIA (исполнитель) | Tailscale + ACE-Step на порту 8001. ПК должен быть включён. |
| VPS (сервер платформы) | Tailscale + переменные ACE_STEP_* в .env, перезапуск gpugrid-api. |
Пошаговая настройка
1. Один аккаунт Tailscale
Зарегистрируйтесь на tailscale.com (бесплатный план до 100 устройств). Запомните email — его используете на VPS и на ПК.
2. Tailscale на VPS (Linux)
На сервере, где крутится gpugrid:
curl -fsSL https://tailscale.com/install.sh | sh sudo tailscale up tailscale status
3. Tailscale на ПК с GPU (Windows)
Скачайте установщик с tailscale.com/download → Windows. Войдите в тот же аккаунт. В трее Tailscale статус Connected.
REM В PowerShell на ПК — узнать Tailscale-IP: tailscale ip -4
Запишите IP вида 100.x.x.x — он понадобится на сервере.
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. 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. Один и тот же API-ключ
Ключ ACESTEP_API_KEY на ПК должен совпадать с ACE_STEP_API_KEY на VPS. Придумайте длинную случайную строку.
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. Проверка «всё работает»
На сервере:
curl -s http://127.0.0.1:4010/api/health
Нужно: "remote_gpu": true и "remote_gpu_online": true. На сайте в кабинете клиента — зелёный статус Remote GPU.
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 на ПК должны совпадать.