Skip to content

Деплой на свой компьютер

Запустите dinary-server на своём Mac или PC и откройте доступ через интернет с помощью туннеля. Бесплатно, всегда работает пока компьютер включён, и совпадает с долгосрочной архитектурой (десктопный AI-агент будет работать на том же компьютере).

Стоимость

Ресурс Стоимость
Ваш компьютер Уже есть
Tailscale Funnel $0 (бесплатный Personal план)
Cloudflare Tunnel $0 (бесплатный план)
Итого $0/месяц

Требования

  • JSON-ключ сервисного аккаунта Google — см. Настройка Google Sheets.
  • Заполненный .env с DINARY_IMPORT_SOURCES_JSON, если вам нужен bootstrap import / import-config / import-флоу. DINARY_SHEET_LOGGING_SPREADSHEET настраивается отдельно и опционален.
  • dinary-server запущен локально (см. README).

Вариант A: Tailscale Funnel

Tailscale Funnel открывает локальный порт в публичный интернет через HTTPS. Простая настройка, но URL будет *.ts.net (без кастомного домена).

1. Установите Tailscale

Войдите в аккаунт и подключитесь к tailnet.

2. Включите Funnel

В админ-консоли Tailscale:

  1. Включите MagicDNS (если ещё не включён).
  2. Включите HTTPS для вашего tailnet.

3. Запустите dinary-server

cd dinary-server
cp .env.example .env
# Отредактируйте .env при необходимости (`DINARY_IMPORT_SOURCES_JSON` для bootstrap import,
# опциональный `DINARY_SHEET_LOGGING_SPREADSHEET` для sheet logging, путь к credentials и т.д.)
uv run uvicorn dinary.main:app --host 127.0.0.1 --port 8000

4. Откройте через Funnel

В отдельном терминале:

tailscale funnel 8000

Tailscale покажет публичный URL, например https://your-machine.your-tailnet.ts.net. Этот URL доступен откуда угодно (телефон, другие устройства) по HTTPS.

Note

Funnel в бета-версии. Распространение DNS может занять несколько минут при первой настройке.

5. Работа в фоне

Чтобы dinary-server продолжал работать после закрытия терминала:

# Используйте менеджер процессов или nohup
nohup uv run uvicorn dinary.main:app --host 127.0.0.1 --port 8000 &

См. шаг 7 в инструкции по деплою на Oracle для примера systemd-сервиса.

Используйте Планировщик задач или запустите как Windows Service через NSSM.

Вариант B: Cloudflare Tunnel

Cloudflare Tunnel поддерживает кастомные домены и Cloudflare Access для авторизации. См. отдельную инструкцию Настройка Cloudflare Tunnel и Access.

Когда компьютер выключен

PWA сохраняет записи в IndexedDB когда сервер недоступен. Когда вы включите компьютер и туннель переподключится, PWA автоматически синхронизирует все накопленные записи при следующем открытии.

Сравнение

Tailscale Funnel Cloudflare Tunnel
Настройка Проще Больше шагов
URL *.ts.net (задан Tailscale) Ваш собственный домен
Авторизация Нет встроенной Cloudflare Access (email OTP)
Кастомный домен Не поддерживается Поддерживается
Статус Бета Стабильный