Codex Remote можно полностью развернуть в своём аккаунте с провайдером cloudflare или deno.
Команда codex-remote self-host запускает единый мастер деплоя для обоих вариантов.
- macOS/Linux/Windows
- установленный Bun
- установленный Codex CLI
- установленный Codex Remote (см. installation.md)
- аккаунт провайдера:
- Cloudflare (подходит free tier)
- Deno Deploy (подходит free tier)
Провайдерные инструменты:
cloudflare:wranglerdeno:deployctl(глобально или черезdeno run -A jsr:@deno/deployctl)
Для Deno нужен DENO_DEPLOY_TOKEN.
| Сервис | Платформа | Назначение |
|---|---|---|
| Orbit / Control Plane | Cloudflare Worker + DO или Deno Deploy runtime | auth, выпуск токенов, websocket relay между web и Anchor |
| Web | Cloudflare Pages или Deno Deploy static | статический Svelte frontend |
Хранилище состояния:
cloudflare: D1deno: Deno KV
JWT/служебные секреты генерируются мастером и автоматически прокидываются в окружение деплоя.
codex-remote self-host --provider cloudflare
# или:
codex-remote self-host --provider deno
# принудительно выполнить login после настройки:
codex-remote self-host --provider deno --loginМастер можно запустить:
- во время
install.sh/install.ps1, или - позже вручную из терминала.
- Проверяет проект и локальные зависимости
- Проверяет инструменты провайдера (
wrangler/deployctl) - Для Deno проверяет
DENO_DEPLOY_TOKEN - Генерирует JWT/VAPID секреты
- Деплоит backend (Orbit/control-plane)
- Собирает frontend с корректным
AUTH_URL - Деплоит статический web
- Записывает значения в
.envдля Anchor
В конце печатает URL и следующие шаги.
По умолчанию после деплоя спрашивает, запускать ли codex-remote login. Поведение можно зафиксировать флагами --login/--no-login.
codex-remote self-host завершится с non-zero кодом, если критический этап не прошёл.
После исправления причины ошибку можно безопасно повторно прогнать ту же команду.
- Откройте URL приложения (из вывода мастера) и создайте/войдите в аккаунт
- Запустите
codex-remote startдля подключения локального Anchor
codex-remote updateКоманда пере-деплоит web + backend для провайдера из SELF_HOST_PROVIDER.
Если update не прошёл, исправьте окружение (например, auth у провайдера) и повторите.
Пример ручного redeploy для Cloudflare:
# redeploy orbit
(cd ~/.codex-remote/services/orbit && wrangler deploy)
# rebuild + deploy web
(cd ~/.codex-remote && bun run build && wrangler pages deploy dist --project-name codex-remote)Подробности взаимодействия компонентов: architecture.md.