Compare commits

..

4 commits

Author SHA1 Message Date
13606008f1 Merge pull request 'docs(agents): Codex works on the deployment host' (#5) from claude/codex-local-host into main
Some checks failed
CI / build-and-test (push) Failing after 2s
2026-10-19 06:32:13 +00:00
ochenstarik-ui
e63a9a3684 docs(agents): Codex now works on the deployment host
Some checks failed
CI / build-and-test (pull_request) Failing after 1s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 13:32:04 +07:00
52fb7587d7 Merge pull request 'docs(agents): R5 — VPS uses containerized Caddy and HAProxy' (#3) from claude/r5-vps-containers into main
Some checks are pending
CI / build-and-test (push) Waiting to run
2026-10-19 05:50:44 +00:00
ochenstarik-ui
6c36e0a866 docs(agents): R5 — VPS runs Caddy and HAProxy in containers
Some checks failed
CI / build-and-test (pull_request) Failing after 1s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 12:50:36 +07:00

View file

@ -4,11 +4,10 @@
Репозиторий `github.com/ochenstarik-ui/randomayzer`, ветка `main` (`b625d70`). Репозиторий `github.com/ochenstarik-ui/randomayzer`, ветка `main` (`b625d70`).
Одна задача — одна ветка — один PR в `main`. В `main` сам не вливаешь — сливает владелец или Claude. Одна задача — одна ветка — один PR в `main`. В `main` сам не вливаешь — сливает владелец или Claude.
**Где что выполняется.** Ты работаешь на своём ПК. Сервер развёртывания — отдельная машина **Где что выполняется (обновлено 19.10).** Ты работаешь на том же домашнем сервере, где будет
владельца (сведения о ней ниже, в R4/R5). Ты готовишь и проверяешь у себя конфигурацию, скрипты развёртывание (владелец перенёс работу сюда). Развёртываешь сам по своему runbook; Claude проверяет
и runbook. Запуск на сервере по твоему runbook выполняет Claude, результат он записывает результат. На VPS (R5) правки делаются через SSH по runbook — с бэкапом конфигов и откатом.
в `agents/claude/done/`. Runbook должен быть исполнимым без тебя: команды, ожидаемый вывод, Runbook всё равно должен быть исполним без тебя: команды, ожидаемый вывод, откат.
откат.
Проект некоммерческий: платежи, биллинг и юридические тексты не нужны. Проект некоммерческий: платежи, биллинг и юридические тексты не нужны.
## Состояние на 19.10 (проверено Claude) ## Состояние на 19.10 (проверено Claude)
@ -95,7 +94,20 @@ WireGuard → домашний сервер → приложение.** Проб
Сделать: Сделать:
1. **Домашний сервер.** Приложение дополнительно слушает `10.77.0.3:<порт>` (не `0.0.0.0`). 1. **Домашний сервер.** Приложение дополнительно слушает `10.77.0.3:<порт>` (не `0.0.0.0`).
На хосте firewall разрешает этот порт только с `10.77.0.1`. БД по-прежнему не публикуется. На хосте firewall разрешает этот порт только с `10.77.0.1`. БД по-прежнему не публикуется.
2. **VPS.** Фрагмент конфигурации reverse proxy под существующий на VPS веб-сервер 2. **VPS — уточнение по факту (Claude, 19.10).** На VPS всё в Docker:
- TLS держит контейнер `krona-reverse-proxy` (`caddy:2.8-alpine`);
- перед ним `krona-proxy-mux` (`haproxy:3.0-alpine`), по-видимому, маршрутизирует 443 по SNI;
- есть `authelia`;
- Forgejo — `krona-git-forgejo`;
- там же production fleet-hub (`fleet-*`), krona pilot и business-platform.
Нужно: маршрут `random.ochenstarik.ru` в HAProxy (если он раскидывает по SNI) и блок сайта
в Caddyfile контейнера `krona-reverse-proxy`. Перед правкой — бэкап обоих конфигов, `caddy validate`
и `haproxy -c` внутри контейнеров, reload без рестарта. После reload проверить, что `git.ochenstarik.ru`
и остальные сайты отвечают как прежде. Можно ли закрыть сайт через Authelia вместо basic auth —
по месту. Чужие блоки не трогать.
Исходный пункт ниже читать с учётом этого:
Фрагмент конфигурации reverse proxy под существующий на VPS веб-сервер
(nginx или Caddy — определить по runbook, не ставить второй на 443): (nginx или Caddy — определить по runbook, не ставить второй на 443):
- TLS для `random.ochenstarik.ru` (Let's Encrypt, HTTP-01 на VPS); - TLS для `random.ochenstarik.ru` (Let's Encrypt, HTTP-01 на VPS);
- `proxy_pass http://10.77.0.3:<порт>`, заголовки `X-Forwarded-*` и `Host`; - `proxy_pass http://10.77.0.3:<порт>`, заголовки `X-Forwarded-*` и `Host`;