type: status-report
title: Infrastructure Status — 2026-05-12 end of day
date: 2026-05-12
author: VPS Claude
trigger: Сергій 2026-05-12 «бери в роботу все по черзі» end-of-day sync
Infrastructure Status — 2026-05-12 end of day
Підсумок змін за сесію 2026-05-12 (~07:50–12:50 UTC, ~5 годин). 17 закритих action item'ів.
✅ Що зроблено (хронологічно)
Bridge upgrade (07:50–08:00)
- ✅ Voice/photo/document handlers у
claude-telegram-bridge.service
- ✅ Voice transcribe через faster-whisper (auto-delete .oga)
- ✅ Photo/document save у
/tmp/claude-bridge/ → Read tool reads
- ✅ Cron daily cleanup
/etc/cron.d/claude-bridge-tmp-cleanup
GCP Security Audit (08:30–10:30)
- ✅ Liveness map створено — 3 alive + 1 secured + 3 orphan + 1 dead
- ✅ A1 виконано Desktop'ом:
gemini_sandbox IP restriction → 31.131.26.203
- ✅ B1-B4 green-light Desktop'у (cross-check 0 references на VPS)
- ✅ IP-restriction runbook записано у open-tasks (для майбутніх VPS migrations)
- ✅ Interactive HTML report: http://31.131.26.203/reports/gcp-audit-2026-05-12.html
Public Docker Stack — pilot → prod (09:30–11:30)
- ✅ DNS records у Cloudflare для 11 subdomain'ів (Desktop через token)
- ✅ Caddy 2.11.2 + cloudflare-dns plugin built
- ✅ 9 контейнерів Up: caddy, 4×med-detective, biogaia, 3×nginx-static
- ✅ TLS auto Let's Encrypt DNS-01 — 14 certs issued
- ✅ Switch host Caddy → 127.0.0.1:8190, docker Caddy → 0.0.0.0:80/443
- ✅ UFW dозволи для docker subnets → host backends
- ✅ Backwards-compat redirects з усіх legacy URL
Cleanup проектів (11:35–12:00)
- ✅ Brocken-3D повністю видалено (1 GB freed)
- ✅ ProFLEX subdomain redirect → interactive-banners/proflex/
- ✅ Med Detective standalone container decommissioned (заменено на medetective.delta…/test/ etc)
Subdomain consolidation (11:50–12:30)
- ✅
medetective.deltamedicalservices.online — 4 path variants
- ✅
interactive-banners.deltamedicalservices.online — 3 sub-products + 18 menopace variants gallery
- ✅
pharmagen.delta… — admin + /kz/
- ✅
arteggia.delta… — bot admin panel
- ✅
family-tree.delta… — personal MVP
- ✅
n8n.delta… — migrated з n8n.31-131-26-203.nip.io (TLS broken)
- ✅ Old subdomains → 301 redirects
Security & UX hardening (12:00–12:40)
- ✅
/browser/ basic_auth — security дірка VNC закрита
- ✅ Mobile-hub + Memory pwd synced → один пароль для всіх sergey endpoints
- ✅ Custom 401 page з підказками (host, expected user, common причини)
- ✅ Internal landing з ярликами на всі сервіси
Webhook routing fix (12:30)
- ✅ TikTok + Threads subdomain тепер ходять на правильні backend'и (не host default fallback)
- ✅ Реальні backend responses (200 для /, 404 для несуществующих endpoint)
Backlog cleanup (12:40–12:50)
- ✅ med-detective.bak-pre-swap (216 MB) видалено
- ✅ SA file dup analysis — ad-pipeline-worker-sa.json ≠ bigquery-sa.json (різні SA, не дубль).
.meta додано для обох.
- ✅ Wiki SA path references виправлено (3 файли)
- ✅ Caddy backup cleanup cron (14 днів rollback window)
- ✅ Decision-log запис про Desktop Task Runner pattern
🌐 Live infrastructure snapshot
Public subdomains (під Cloudflare orange-cloud + Let's Encrypt TLS)
| Subdomain |
Purpose |
Auth |
medetective.delta… |
Med Detective × 4 (/, /test/, /menopace/, /fables/) |
none |
interactive-banners.delta… |
Fluvir + Menopace + ProFLEX |
none |
biogaia.delta… |
BioGaia Story Flask backend |
none |
pharmagen.delta… |
Admin + /kz/ variant |
basic_auth admin |
arteggia.delta… |
Bot admin panel |
basic_auth admin |
family-tree.delta… |
Personal MVP |
basic_auth family |
n8n.delta… |
Workflow automation |
basic_auth admin (editor) |
threads.delta… |
Threads OAuth webhook |
none (public) |
tiktok.delta… |
TikTok OAuth webhook |
none (public) |
internal.delta… |
Internal aggregator landing |
basic_auth sergey |
proflex.delta… |
301 redirect → interactive-banners/proflex/ |
none |
Stack health
public-caddy healthy (Caddy 2.11.2 + cloudflare DNS)
public-med-detective × 4 healthy (FastAPI uvicorn)
public-biogaia-story healthy (Flask gunicorn)
public-interactive-banners healthy (nginx-static + 18 menopace iframes)
7 контейнерів, ~340 MB RAM total для public stack.
TLS certificates
14 валідних Let's Encrypt сертифікатів, всі auto-renew через DNS-01 challenge (Cloudflare API token у /srv/passepartout/cloudflare/dns-edit-token.txt).
🔴 Open issues / TODO
Очікують Desktop / Сергія
- GCP-A2: IAM downgrade
ad-analytics-hub@appspot SA Editor → BQ Data Viewer + Job User (потрібен discovery — які API викликає App Engine app)
- GCP-A3: ad-pipeline-worker JSON key rotation (last use 16 Apr, ~26 днів)
- GCP-A4: BQ Data Transfer 100% errors — глянути failed job у Console
- GCP-B1-B4: disable orphan keys через Cloud Console (Desktop)
- GCP-C1: budget alerts + raise €10 → €25
- gcloud install permission від Сергія
- Дозвіл на
expense-bot-sa.json orphan handling (видалити чи переіменувати)
Інформаційно
- Med Detective
/fluvir/ — Сергій сказав «не роби»
- Backwards-compat legacy paths можна видалити через 30 днів (наразі залишені для transition)
- n8n.31-131-26-203.nip.io DNS record ще resolvable, але TLS broken — користувачі автоматично будуть звертатись на новий domain
📊 Прогресс по проектах (snapshot)
| Project |
Status |
Public URL |
| Med Detective (umbrella) |
🟢 LIVE prod + 3 sub-variants |
medetective.delta… |
| Interactive Banners |
🟢 LIVE (Fluvir) + Prelaunch (Menopace) + Prototype (ProFLEX) |
interactive-banners.delta… |
| BioGaia Story |
🟢 Firebase prod + VPS backend |
biogaia.delta… + biogaia-storybook-dm1.web.app |
| Pediatric News |
🟡 Threads OAuth ready, pivot in progress |
threads.delta… |
| Pharmagen CIS |
🟡 ~40-50% (3 sub-projects) |
pharmagen.delta… |
| Family Tree |
🟡 MVP ~50% |
family-tree.delta… |
| Arteggia × Vertebra |
🟡 LIVE (bot only) |
arteggia.delta… |
| Med Detective Filtrum |
🔴 Planned (CRM Creatio whitelist + DNS) |
TODO |
| Reviews / Heafolik |
🟡 12% (research done, pilot pending) |
— |
| Brand Threads |
🟢 5% (research done, MVP planned) |
— |
Cross-references
- Decisions log:
/root/.claude/projects/-/memory/decisions_log.md (10 entries за сесію)
- Open tasks:
/srv/wiki/open-tasks.md (48 🔄 items)
- Public services status:
/srv/reports/public-services-status-2026-05-12.md
- GCP audit:
/srv/reports/gcp-audit-2026-05-12.html
- Internal landing:
https://internal.deltamedicalservices.online/