Архітектурне рішення Сергія 2026-05-12: публічні сервіси (med-detective × 4, biogaia-story, brocken-3d × 2, proflex-game, webhook'и) переносимо у окремий Docker stack на VPS + Cloudflare proxy (orange cloud) перед ним.
Це безкоштовно (на відміну від GCP), дає DDoS захист, TLS, кешинг, приховує реальний IP. VPS Claude паралельно готує всю Docker-частину (~4 години роботи), але стартонути HTTPS не може без передумов нижче.
Чому Desktop: ці кроки потребують браузера під логіном Сергія (Hostiq + Cloudflare). VPS Claude не має VNC/браузерного доступу під Сергієм. Сергій сам не хоче клікати — каже «передай локальному Клоду».
Context: домен deltamedicalservices.online куплений 2026-05-05, доданий як site у Cloudflare, але NS досі на Hostiq (dns1.hostiq.ua, dns2.hostiq.ua). Без NS на Cloudflare ми не можемо створювати subdomains і керувати proxy.
Що зробити:
/srv/passepartout/domains/)deltamedicalservices.online → DNS / Name Serversalice.ns.cloudflare.com
jonah.ns.cloudflare.com
Перевірка з твого боку:
dig NS deltamedicalservices.online
# Має повернути alice.ns.cloudflare.com + jonah.ns.cloudflare.com
Context: Caddy у public Docker stack буде робити automatic Let's Encrypt сертифікати через DNS-01 challenge (бо HTTP-01 не працює коли orange cloud активний). Для цього потрібен Cloudflare API token з вузьким scope.
Що зробити:
Zone:DNS:Editdeltamedicalservices.onlinessh root@31.131.26.203 'cat > /srv/passepartout/cloudflare/dns-edit-token.txt' <<< "ТОКЕН_ТУТ"
ssh root@31.131.26.203 'chmod 600 /srv/passepartout/cloudflare/dns-edit-token.txt'
.meta поряд:ssh root@31.131.26.203 'cat > /srv/passepartout/cloudflare/dns-edit-token.txt.meta' <<EOF
what: Cloudflare API token для Caddy DNS-01 ACME challenge
scope: Zone:DNS:Edit для deltamedicalservices.online
issued_at: 2026-05-12
issued_by: Desktop Claude (від імені Сергія)
used_by: /srv/public-stack/caddy (через CLOUDFLARE_API_TOKEN env)
rotate_if: leak / TTL expire / scope change
EOF
Context: після NS-propagation треба створити subdomain-и для всіх публічних сервісів. Кожний — A record на VPS IP з orange cloud (proxy).
Subdomain map:
| Subdomain | Що там буде | Тип | Value | Proxy |
|---|---|---|---|---|
medetective.deltamedicalservices.online |
med-detective prod (порт 8765, schonen-main) | A | 31.131.26.203 |
🟠 ON |
medetective-test.deltamedicalservices.online |
med-detective-test (8766, 12 кейсів) | A | 31.131.26.203 |
🟠 ON |
medetective-menopace.deltamedicalservices.online |
med-detective-menopace (8768, Vitabiotics M2M) | A | 31.131.26.203 |
🟠 ON |
medetective-fables.deltamedicalservices.online |
med-detective-fables (8769, B2B demo) | A | 31.131.26.203 |
🟠 ON |
biogaia.deltamedicalservices.online |
biogaia-story Flask backend (5001) | A | 31.131.26.203 |
🟠 ON |
brocken.deltamedicalservices.online |
Brocken-3D v1 (static) | A | 31.131.26.203 |
🟠 ON |
brocken-v2.deltamedicalservices.online |
Brocken-3D v2 (static) | A | 31.131.26.203 |
🟠 ON |
proflex.deltamedicalservices.online |
ProFLEX game (static) | A | 31.131.26.203 |
🟠 ON |
Webhook subdomain-и (теж публічні, без auth — для OAuth callbacks):
| Subdomain | Що там | Тип | Value | Proxy |
|---|---|---|---|---|
threads.deltamedicalservices.online |
Threads OAuth callback (port 8772) | A | 31.131.26.203 |
🟠 ON |
tiktok.deltamedicalservices.online |
TikTok OAuth callback (port 8095) | A | 31.131.26.203 |
🟠 ON |
Internal subdomain (приватне, з basic_auth + Cloudflare Access у майбутньому):
| Subdomain | Що там | Тип | Value | Proxy |
|---|---|---|---|---|
internal.deltamedicalservices.online |
reports, grafana, n8n, memory, dashboard — все під basic_auth | A | 31.131.26.203 |
🟠 ON |
Як створювати у UI:
deltamedicalservices.online → DNS → Records → Add Recordmedetective (без full FQDN), Target: 31.131.26.203, Proxy: enabled (orange)Альтернативно через API (швидше — bash one-liner): можеш зробити через curl + DNS token, але UI наочніше.
Якщо є 5 додаткових хвилин:
@ чи * без узгодження з Сергіємn8n.31-131-26-203.nip.io legacy A record поки n8n не мігруєКинь у inbox-from-desktop файл read-{TS}-public-stack-prereqs.md з:
VPS Claude підхопить після цього і запустить:
/srv/public-stack/ готовий чекає/srv/passepartout/domains/deltamedicalservices.online.meta/srv/passepartout/cloudflare/ (workers-edit + rescue-auth — є; dns-edit — нема, ти створиш)/srv/wiki/integrations/google-cloud.md (треба буде створити окрему wiki для cloudflare/public-stack — це VPS-Claude'а робота після)