Server Fleet — Domains & Apps

26 Jul 2026 · Domain families isolated · Source: server analysis-26-7-2026.md

Caddy only (all 4) No nginx No traefik No Dokploy 15 Docker containers Hetzner restored · :3005 fixed Orphan www dirs
01 Reverse proxy & containers what is present / absent on each host

hostinger

SSH entryssh hostinger
Reverse proxy:
Caddy active
Other proxies:
nginx no traefik no Dokploy no
Docker:
engine OK 0 containers
Config:
/etc/caddy/Caddyfile (single)
Admin API:
127.0.0.1:2019

Contabo-149

SSH entryssh -i ~/.ssh/contabo2_new1 root@149.102.150.185
Reverse proxy:
Caddy active
Other proxies:
nginx no traefik no Dokploy no
Docker:
11 containers all healthy
Config:
/etc/caddy/Caddyfile + sites/*.caddy
Also:
PM2 (dentist, tourism, telegram) + OpenClaw :18789

hetzner

SSH entryssh -i ~/.ssh/hetzner_dokploy root@46.62.228.173
Reverse proxy:
Caddy active
Other proxies:
nginx no traefik no Dokploy no alias only
Docker:
3 containers (IELTS ×2, uptime-kuma)
Config:
/etc/caddy/Caddyfile (large single)
Also:
systemd PB×3, uvicorn :8000, TTS :5000

contabo-213

SSH entryssh -i ~/.ssh/ai_developer_key root@213.199.36.17
Reverse proxy:
Caddy active
Other proxies:
nginx no traefik no Dokploy no
Docker:
1 container smm_automation (no domain)
Config:
/etc/caddy/Caddyfile (many .bak)
Also:
MySQL, Redis, PHP-FPM, OpenClaw :18789
Fleet rule: Every public domain terminates TLS on Caddy only. There is no second reverse proxy in the path. Docker containers (and native Node/Python services) bind to 127.0.0.1; Caddy reverse_proxies to them. Despite SSH alias hetzner_dokploy, Dokploy is not installed or running on any host.
02 Resources snapshot 26 Jul 2026

hostinger

srv913114 · 2 cores · 20d up
1/7.8G
33%
~78% idle
Load 0.48 / 0.13 / 0.04 · spare capacity

Contabo-149

vmi2860834 · 149.102.150.185 · 8c · 4d
2.4/23G
23%
~98% idle
Load 1.33 / 0.53 / 0.25 · most free headroom

hetzner

46.62.228.173 · 8c · 72d
5.8/15G
17%
~89% idle
Swap 723M · TTS ~3.7G · production load

contabo-213

213.199.36.17 · 6c · ~152d
1.2/11G
47%
~79% idle
No swap · tightest disk · long uptime

No domains match this filter.

03 · hostinger

Hostinger VPS

Hostname srv913114
Role: lightweight landing / captcha assets · spare capacity
Caddy nginx no traefik no Dokploy no Docker containers: 0 Docker engine installed

hostinger.addict.best

apex only no subdomains live
Single static site family on this IP. No reverse_proxy backends — Caddy serves files directly.
hostinger.addict.best apex static
hostingersrv913114
Path: /var/www/hostinger.addict.best · Caddy file_server (no container, no app process)
Public landing page and captcha/asset host for the addict.best brand on Hostinger.
Uses
  • Serve static marketing / utility HTML and images with low cost
  • Captcha and anti-bot asset hosting without loading production boxes
  • Spare VPS identity page for the fleet
Orphans on disk (no Caddy block): /var/www/taibaat*, fast-diet*, social-hub. Historical domains only in backups: diaa.master1.vip, taibaat.master1.vip, fast.promedic1.com, n8n host.
04 · Contabo-149

Contabo-149 VPS

149.102.150.185 · vmi2860834
Role: education / gaming hub — master1 banks, dentist, tourism, Outline, listmonk, umami, Activepieces, OpenClaw
Caddy (modular sites/*.caddy) nginx no traefik no Dokploy no Docker: 11 containers healthy PM2 native apps

master1.vip

family apex + 11 subdomains
Isolated education brand. Apex umbrella + subject banks, activation, share, wiki (Outline), and OpenClaw automation. Shared IP 149.102.150.185 only.
master1.vip apex running
Contabo-149149.102.150.185
/var/www/master1.vip/dist + PocketBase :8090 + telegram bot :8086 · no Docker for front
Main Master1 education hub — SPA front, PocketBase backend, Telegram integration.
Uses
  • Central portal for Egyptian secondary / bank exam products
  • Auth, content API, and bot notifications for students
  • Umbrella landing that links subject subdomains
activation.master1.vip subdomain running
Contabo-149149.102.150.185
/root/activation.master1 + PocketBase
License / activation-code portal for Master1 products.
Uses
  • Issue and validate product activation codes
  • Student unlock flows after purchase
  • Admin-side code inventory
banks.master1.vip subdomain running
Contabo-149149.102.150.185
/root/banks-master1 (static / app files)
Aggregated question-banks surface for Master1.
Uses
  • Browse multi-subject question banks in one place
  • Study / practice content delivery for exams
bio.master1.vip subdomain running
Contabo-149149.102.150.185
/var/www/biology-exams
Biology exams package (static or SPA under Caddy).
Uses: Biology exam practice, timed drills, subject-specific question sets.
bank.master1.vip subdomain running
Contabo-149149.102.150.185
/var/www/biology-banks
Biology banks (distinct path from bio.master1.vip).
Uses: Deeper biology bank library for revision and chapter quizzes.
math.master1.vip subdomain running
Contabo-149149.102.150.185
/var/www/math-final
Math final exams content.
Uses: Math final prep, problem banks, exam simulation.
arabic.master1.vip subdomain running
Contabo-149149.102.150.185
/var/www/Arabic-banks
Arabic language banks.
Uses: Arabic grammar/literature banks for secondary exams.
french.master1.vip subdomain running
Contabo-149149.102.150.185
/var/www/french-exams
French exams package.
Uses: French language exam practice and banks.
eng.master1.vip subdomain running
Contabo-149149.102.150.185
/var/www/English-banks
English banks for Master1 (separate from ielts.fast on Hetzner).
Uses: School English banks — not IELTS band training (that lives on ielts.fast).
physics.master1.vip subdomain running
Contabo-149149.102.150.185
/var/www/physics-bank-final
Physics bank final release.
Uses: Physics problem sets, final exam revision.
share.master1.vip subdomain running
Contabo-149149.102.150.185
Node :4005 + static · Caddy reverse_proxy
Internal/public file-share service for Master1 materials.
Uses
  • Share PDFs, packs, and media with students/staff
  • Lightweight transfer without cloud SaaS
ui.master1.vip subdomain running Docker: outline
Contabo-149149.102.150.185
Docker outline → 127.0.0.1:3100 · deps: outline-db, outline-redis
Team knowledge base (Outline wiki) for Master1 ops and content planning.
Uses
  • Internal docs, SOPs, content calendars
  • Collaborative notes for curriculum and product
auto.master1.vip subdomain running
Contabo-149149.102.150.185
OpenClaw / Python orchestrator :18789 (native, not Docker)
VIP automation gateway for Master1 — agent orchestration and task routing.
Uses
  • Run OpenClaw automations against Master1 workflows
  • Agent entrypoint for content / ops tasks on this fleet
Orphan www (same IP, no Caddy domain): chemistry.master1.vip, chem-final, hero-master1, math-zoro, physics-banks-legacy, biology-egypt-legacy, French-oppus, kimi-general, z-ai-apps, social-hub. Disabled site files: banks.master1.vip.caddy.disabled.*, master1.vip.bak.*

tourism.cheap

family apex + www redirect
Isolated tourism brand on Contabo-149. www → apex permanent redirect. No other tourism.* subdomains live here (stale certs exist on Hetzner only).
tourism.cheap apex running
Contabo-149149.102.150.185
Next.js v16.2.10 · PM2 guardian-misr-tourism · 127.0.0.1:3015 · /root/guardian-misr-tourism
Caddy: /etc/caddy/sites/tourism.cheap.caddy · TLS admin@ielts.fast
Guardian Misr tourism web app — Egypt travel product front-end (Next.js SSR/SSG).
Uses
  • Public tourism marketing and booking-facing pages
  • Misr/Egypt destination content delivery
  • Production Next.js app behind Caddy reverse_proxy
www.tourism.cheap subdomain redirect
Contabo-149149.102.150.185
Caddy permanent redirect → https://tourism.cheap
www alias only — not a separate app.
Uses: Canonicalize SEO traffic onto apex tourism.cheap.

promedic1.com (Contabo-149 slice)

partial family 2 hosts on this IP
Only dentist + umami live on Contabo-149. Main medical brand sites are on Hetzner (separate IP box below). Keep families separate by server IP.
dentist.promedic1.com running not Docker (PM2)
Contabo-149149.102.150.185
PM2 dentist-ide · Node :8085 + PocketBase :8092
Dentist-Pro clinical management system for dental practices.
Uses
  • Patient case management (CRUD + medical history)
  • Dashboard: finished patients vs follow-up needed
  • Procedures library (indications, steps, complications)
  • Dose calculator with interactions / contraindications
  • Disease DB, treatment protocols, 16 plan templates (caries, perio, implants, ortho, surgery)
  • Follow-up sheets, case export/print
umami.promedic1.com running Docker: umami-app + umami-db
Contabo-149149.102.150.185
umami-app → 127.0.0.1:3003
Self-hosted privacy analytics for promedic / master1 properties.
Uses
  • Pageviews and referrers without Google Analytics
  • Per-site tracking for medical and education fronts

addict.mom

family 3 subdomains · no bare apex on this inventory
Ops / growth tooling brand. All reverse_proxy to Docker services on Contabo-149. Isolated from addict.best static landings.
active.addict.mom subdomain running Docker: root-activepieces-1 + postgres + redis
Contabo-149149.102.150.185
Activepieces → 127.0.0.1:8080
No-code / low-code workflow automation (Activepieces).
Uses
  • Connect apps, webhooks, and scheduled jobs
  • Automate content / CRM / notify pipelines without custom code
agent.addict.mom subdomain running Docker: agent-browserless
Contabo-149149.102.150.185
browserless → 127.0.0.1:3006
Headless Chrome/browser API for agents and scrapers.
Uses
  • Browser automation for Hybrid 4.7 / agent workflows
  • Screenshots, PDF render, scripted navigation
listmonk.addict.mom subdomain running Docker: listmonk-app + listmonk-db
Contabo-149149.102.150.185
listmonk-app → 127.0.0.1:9000
Self-hosted newsletter and email campaign manager.
Uses
  • Subscriber lists, campaigns, templates
  • Transactional / bulk email for education & medical brands

addict.best (Contabo-149 slice)

partial family 6 hosts on this IP
Gaming/edu static landings + ZeroClaw gateway. Other addict.best hosts live on Hetzner / contabo-213 (separate IP boxes).
Contabo-149149.102.150.185
OpenClaw :18789 (same process as auto.master1.vip)
ZeroClaw public gateway alias on Contabo-149.
Uses
  • Alternate branded entry to the Contabo-149 OpenClaw orchestrator
  • Agent/automation API hostname for tools expecting addict.best TLD
Contabo-149149.102.150.185
/var/www/cardx.addict.best · Caddy file_server
Card-game product landing.
Uses: Marketing page for card/duel style educational games; capture interest before app install.
Contabo-149149.102.150.185
/var/www/duel.addict.best
Duel-mode game landing.
Uses: Competitive quiz/duel product page; traffic split from cardx/edugamer.
Contabo-149149.102.150.185
/var/www/edugamer.addict.best
Edu-gamer brand landing.
Uses: Education-through-games positioning; funnel to Master1 or app stores.
Contabo-149149.102.150.185
/var/www/index.addict.best
Index / directory landing for addict.best properties.
Uses: Link hub / mini catalog of related products.
Contabo-149149.102.150.185
/var/www/contabo149.addict.best
Server identity / status landing for IP .149.
Uses: Quick human check that Contabo-149 VPS is serving; branding for the host itself.
Contabo-149 Docker inventory (all healthy): outline (+db/redis), umami-app (+db), listmonk-app (+db), root-activepieces-1 (+postgres/redis), agent-browserless. PM2: dentist-ide, guardian-misr-tourism, master1-telegram.
05 · hetzner

Hetzner VPS

46.62.228.173 · debian-16gb-hel1-1
Role: medical + IELTS production — promedic1.com family, ielts.fast stack
Caddy (single large file) nginx no traefik no Dokploy no (alias only) Docker: 3 containers systemd PB×3 + uvicorn + TTS :3005 fixed (telegram-notifier)

ielts.fast

family apex + 4 subdomains
Isolated IELTS product brand. Full stack on Hetzner only — PocketBase, analysis API, TTS, Docker webapps. Aim: band-9 style preparation.
ielts.fast apex running Docker: webapp_ielts
Hetzner46.62.228.173
PB :8090 (/pb/_/*) + uvicorn ielts-analysis :8000 + TTS :5000 + docker webapp_ielts :8003→3000
IELTS Fast learning platform — study plans for reading, writing, listening, speaking; academic vocabulary and band-oriented practice.
Uses
  • Skill practice: multi-accent listening, academic reading, Writing T1/T2 templates with criteria-based analysis
  • Timed sessions and full mock exams with estimated band score
  • Progress dashboard, answer explanations, personal accounts
  • TTS audio for speaking/listening materials; analysis API for scoring helpers
the.ielts.fast subdomain running Docker: the-ielts
Hetzner46.62.228.173
docker the-ielts · 127.0.0.1:8094→80
Companion IELTS web app (containerized) linked to the main brand.
Uses: Alternate UI / product surface for IELTS practice content; keep load split from apex SPA.
listening.ielts.fast subdomain static
Hetzner46.62.228.173
/var/www/ielts-listening-exams/dist
Dedicated listening exams front (static dist).
Uses: Focused listening tests with realistic audio packs; less weight on main Next/app stack.
exercise.ielts.fast subdomain static
Hetzner46.62.228.173
/var/www/ielts-exercise/dist
Exercise / drill package.
Uses: Short grammar/vocab/strategy drills between full mocks.
reading.ielts.fast subdomain static
Hetzner46.62.228.173
/var/www/ielts-reading
Reading practice content host.
Uses: Academic passage packs and question types for Reading band improvement.
systemd: ielts-pocketbase :8090, ielts-analysis :8000, ielts-tts :5000. :3005: fixed — telegram-notifier secrets restored via EnvironmentFile. Orphan paths: /var/www/writing-task2, server-panel, social-hub. Not running (on disk only): Chatwoot, OpenHands, Umami, Prometheus/Loki under /opt.

promedic1.com (Hetzner production)

family apex + 11 subdomains
Medical knowledge brand on Hetzner. Completely separate IP from Contabo-149’s dentist/umami. Apex + clinical/drugs/diet/coach/female and PocketBase API hosts.
promedic1.com apex static
Hetzner46.62.228.173
/var/www/promedic1.com
ProMedic medical knowledge base home — evidence-based drug and clinical tools brand.
Uses
  • Entry portal for clinicians, pharmacists, students, informed patients
  • Routes users to drug DB, diet, coach, clinical, and specialty subsites
  • Brand home for dose / infusion / nutrition calculators ecosystem
clinical.promedic1.com subdomain static
Hetzner46.62.228.173
/var/www/clinical
Clinical data site — diseases, protocols, guidelines, materials.
Uses: Disease database, treatment protocols with references; bedside/clinic quick reference.
drugs.promedic1.com subdomain static
Hetzner46.62.228.173
/var/www/drugs-promedic1
Clinical drug reference database.
Uses
  • Indications, contraindications, dosages, side effects, interactions
  • Trade vs generic names, clinical summaries, failure causes
  • Searchable interface for doctors / pharmacists / students
diet.promedic1.com subdomain running
Hetzner46.62.228.173
PB diet-pocketbase :8091 + /var/www/diet-plans/dist
Diet plans app with PocketBase backend.
Uses
  • Nutrition method / plan calculation
  • Patient-weight-based meal / infusion-adjacent nutrition helpers
  • Diet plan library for clinical and wellness use
coach.promedic1.com subdomain running
Hetzner46.62.228.173
PB coach-pocketbase :8092 + /var/www/coach.promedic1.com
Fitness coach app — science-backed training plans with timers and tracking.
Uses
  • Plans: bulking, re-shaping, cutting, queen-shape, chest/glutes, upper/lower, calisthenics, endurance
  • Play/rest timers, warm-up and injury tips, mistakes to avoid
  • Follow-up sheet: weight, progress, vitamins/supplements calculator
female.promedic1.com subdomain static
Hetzner46.62.228.173
/var/www/female-promedic1
Female ProMedic — women’s health & wellness platform.
Uses
  • Women-specific workouts and life-stage fitness
  • Nutrition for hormonal cycles / metabolic differences
  • Mental wellness and expert medical articles for women
activation.promedic1.com subdomain static
Hetzner46.62.228.173
/var/www/activation.promedic1.com · (uvicorn :8000 is ielts-analysis, not this site)
Activation portal for ProMedic products.
Uses: Unlock medical apps/content after purchase; separate from master1 activation on Contabo-149.
pocketcoach.promedic1.com subdomain running
Hetzner46.62.228.173
PocketBase :8092 (coach API hostname)
API-facing host for coach PocketBase.
Uses: Mobile/web clients talk to coach data without going through static coach.promedic1.com paths.
pocketdiet.promedic1.com subdomain running
Hetzner46.62.228.173
PocketBase :8091 (diet API hostname)
API-facing host for diet PocketBase.
Uses: Diet app API endpoint for clients and tools.
credo.promedic1.com subdomain static
Hetzner46.62.228.173
/var/www/credentials-hub
Credentials hub UI (ops/internal catalog style).
Uses: Organize/view credential-related docs and links for the medical stack (not a secrets vault in production sense — treat carefully).
dom.promedic1.com subdomain static
Hetzner46.62.228.173
/var/www/domains-hub
Domains hub — inventory UI for fleet domains.
Uses: Human-readable map of domains / ownership style reference for ops.
spiro.promedic1.com subdomain static
Hetzner46.62.228.173
/var/www/spiro.promedic1.com
Spiro content site (respiratory / specialty content package).
Uses: Specialty medical content delivery under ProMedic brand.
Stale TLS (no live Caddy site block): media.contabo1.tourism.cheap, media.hetziner.tourism.cheap. Swap in use (~723M). Heavy RAM from TTS + PocketBase ×3.

addict.best (Hetzner slice)

partial family 1 host on this IP
Only the Hetzner identity landing. Other addict.best apps are on Contabo-149 / contabo-213.
Hetzner46.62.228.173
/var/www/hetziner.addict.best
Server status / identity page for Hetzner box.
Uses: Quick “is this host up” human page; brand mirror of contabo149 / contabo213 landings.
Docker on Hetzner: webapp_ielts, the-ielts, uptime-kuma (monitoring on 127.0.0.1:3002 — no public domain in this inventory).
06 · contabo-213

contabo-213 VPS

213.199.36.17 · ubuntu
Role: SPLE exam, OpenClaw, prompts library, SMM automation · long-uptime utility box
Caddy nginx no traefik no Dokploy no Docker: 1 (smm_automation, no domain) MySQL + Redis + PHP-FPM no swap

promedic1.com (contabo-213 slice)

partial family 1 live + 1 retired
SPLE exam host only. Main medical stack is on Hetzner; dentist/umami on Contabo-149. zag retired on this IP.
contabo-213213.199.36.17
/root/sple-exam-app · Caddy file_server
SPLE (Saudi Pharmacist Licensure Exam) practice / exam app package.
Uses
  • Pharmacy licensure exam practice content
  • Self-study packs for SPLE candidates under ProMedic brand
zag.promedic1.com retired
contabo-213213.199.36.17
Removed from live Caddy · files remain /var/www/zag-antibiogram · only in Caddyfile.bak
Former antibiogram tool — not publicly served.
Uses (historical): Antibiogram reference. Action: delete leftover files or re-enable deliberately.

addict.best (contabo-213 slice)

partial family 4 hosts on this IP
OpenClaw + prompts tools + server landing. Isolated from Contabo-149/Hetzner addict.best hosts by IP.
contabo-213213.199.36.17
OpenClaw gateway :18789 (native on this box — not the Contabo-149 :18789)
OpenClaw gateway for the contabo-213 host (HTTP 200).
Uses
  • Agent gateway / automation entry for this VPS
  • Separate instance from Contabo-149 auto.master1.vip / zeroclaw (different IP, same port number)
contabo-213213.199.36.17
Python :8790 · /var/www/prompting-navigator
Prompting navigator — interactive prompt tooling UI.
Uses
  • Browse / build system prompts for content and agents
  • Navigate prompt packs used by media / Hybrid pipelines
contabo-213213.199.36.17
/var/www/prompts-addict
Static prompts library / catalog.
Uses: Publish curated prompt collections for copy, video, and agent workflows without a backend.
contabo-213213.199.36.17
/var/www/contabo213.addict.best
Server landing for 213.x IP (name is historical “contabo213”).
Uses: Host identity page for contabo-213 VPS.
No public domain: Docker smm_automation (Up 4 months), auto_responder.py :8081, MySQL :3306, Redis :6379, PHP 8.1-FPM (no php_fastcgi in live Caddy). Many Caddy .bak files on disk.
07 Cost analysis & recovery Hetzner outage · keep or move · rebuild packs

Cost analysis — keep Hetzner or move to Contabo?

Lock cause: unpaid ~$40 invoice → Hetzner null-routed the IP. Server was still ON; only public network was cut. Apps/data were not wiped.

1 Keep Hetzner or move?
Your Hetzner CPX42
~€29.99/mo ≈ 33 + VAT · ~40 with Storage Box
Cheaper Contabo
Specs 8 vCPU / 16 GB / 320 GB
(you use ~17% disk, ~5.6 GB RAM active)
Often cheaper at same RAM, or much cheaper with less RAM
Your stack TTS alone needs multi‑GB RAM + PB×3 + Docker + Caddy 4–8 GB plans will OOM this stack
Outage risk Strict billing (this incident) Abuse locks still happen
Migration Already running Days of DNS/TLS/Docker/PB + risk
Verdict: Worth keeping for this multi-app + IELTS TTS workload — if invoices auto-pay.
  • False savings: cheap small VPS that can’t run TTS.
  • Real savings: Contabo 16 GB might save ~€10–15/mo, only after a planned migrate with backups (not as a panic move).
  • Best prevention: auto-payment + invoice emails so this never happens again.

Full write-up: server apps/app-stack-exports/COST_AND_BACKUP_ANALYSIS.md

2 Fixes applied — server healthy again
CheckStatus
All 6 target sitesHTTP 200
Caddy, Docker, 3× PocketBase, TTS, analysisactive
telegram-notifier :3005 fixed — was missing TELEGRAM_TOKEN (secrets stripped); restored via EnvironmentFile; notify API returns 200
pocketbase-secrets restored from backup (monitors need it)

No Caddy rewrite, no restarts of healthy apps, no data deletion.

3 Full function-stack copies (rebuild without user logs)

Portable archives for:

  • ielts.fast
  • the.ielts.fast
  • coach.promedic1.com
  • clinical.promedic1.com
  • drugs.promedic1.com
  • female.promedic1.com

Where they are

LocationPath
Your Macserver apps/app-stack-exports/20260727_150515/ (~330 MB)
Server/root/app-stack-exports/20260727_150515/
Storage Boxhetziner-46/app-stack-exports/20260727_150515/ on u583961.your-storagebox.de
Daily resticnow also backs up app-stack-exports
Weekly autoSundays 05:15 — /usr/local/bin/export-app-stacks.sh

What’s inside (function stack, not user session logs)

  • App source / SPA builds
  • PocketBase hooks + migrations (+ DBs where small; storage media excluded)
  • Docker images (ielts-fast ~150 MB, the-ielts ~25 MB)
  • Caddyfile + systemd units under _infra/
  • Secret templates only (tokens = REPLACE_ME)
  • Per-app REBUILD.md + root README_REBUILD.md
If the server is blocked again: unpack from Mac or Storage Box → docker load → Caddy + secrets → point DNS. You do not need live user logs to rebuild the product.
4 What you should do on billing (1 minute)
  • Hetzner Cloud → enable auto top-up / payment method
  • Confirm invoice emails go to an inbox you read
  • Optional: calendar reminder 3 days before renewal
Bottom line: Stay on Hetzner for capacity/stability; the outage was unpaid billing, not bad apps. Stack is fixed (including port :3005). You now have triple copies (Mac + server + Storage Box) of all six apps for easy rebuild.
08 Fleet health matrix
Check hostinger Contabo-149 hetzner contabo-213
SSHOKOKOKOK
Reverse proxyCaddy onlyCaddy onlyCaddy onlyCaddy only
nginx / traefik / DokployAbsentAbsentAbsentAbsent
Docker containers0 (engine OK)11/11 healthy3/3 up1 up (no domain)
Disk33%23%17%47%
RAMLowVery lowMedium (+TTS)Low · no swap
Notable riskOrphan www dirsZombie + orphan www:3005 fixed · enable auto-payCaddy .bak · zag leftover
09 Verdict
All four servers reachable. Caddy is the only reverse proxy everywhere — no nginx, traefik, or Dokploy. Containers: none on hostinger · 11 on Contabo-149 · 3 on hetzner · 1 (unmapped) on contabo-213. Production load: Contabo-149 (education/gaming) + Hetzner (medical/IELTS). Hostinger idle spare. contabo-213 utility + SPLE/prompts. Hetzner outage was billing null-route, not app failure — keep CPX42 with auto-pay; triple app-stack exports ready for rebuild.
  • Enable Hetzner auto-payment + invoice email alerts
  • Clean orphan paths and disabled Caddy site files
  • Map or stop smm_automation / auto_responder on contabo-213
  • Remove retired zag.promedic1.com files and excess Caddy backups