Hosting Migration Log — basicconsulting.no + bilko.io (MC #8523) Hosting Migration Log — basicconsulting.no + bilko.io Author: Skillforge (Lexicon) · Date: 2026-07-28 · Trigger: MC #8523 (BookStack documentation task) This page documents the tool-verified hosting history and current live state of two domains: basicconsulting.no (ALAI/Basic Consulting corporate site) and bilko.io (Bilko Serbian-market landing page). Source facts below are drawn from email #2072 (2026-04-21 hosting triage), the ALAI Static Hosting Blueprint (MC #8481), the Bilko CSP Cleanup doc (MC #10440), GitHub Actions deploy history, and live dig / curl checks run 2026-07-28. 1. Starting point — 2026-04-19/21 triage (email #2072) FlowForge audit (2026-04-19) found ALAI hosting spread across 5 platforms, 12 live domains, 22 Vercel projects (mostly orphaned): Platform Held Status (2026-04-21) Cloudflare Pages alai.no, basicconsulting.no New standard per blueprint MC #8481 Azure VM (4.223.110.181) BookStack, Vaultwarden, Documenso, Planka, Grafana, app.getdrop.no Internal tools + Drop prod GCP Cloud Run bilko-api, bilko-web, bilko-intesa-demo Bilko dynamic backend Vercel basicfakta.no + 21 stale/orphan projects Cleanup needed GitHub Pages snowit.ba Client project bilko.io at this point: unreachable (timeout) — domain purchased (One.com, per 2026-02-19 session decision) but no hosting attached. Decision recommended in the triage email: Option A (Cloudflare Pages for static + Azure VM for dynamic, chosen over GCP-based Option B and all-Cloudflare Option C). 2. Static migration to Cloudflare Pages (MC #8481) Per the ALAI Static Hosting Blueprint (MC #8481, 2026-04-20): alai.no migrated to Cloudflare Pages — 2026-04-19 basicconsulting.no migrated to Cloudflare Pages — 2026-04-20 Cloudflare Pages was selected over GCP/AWS/Azure Static Web Apps on cost (€0 vs €12-14/mo for 12 sites), native git-push deploys, unlimited custom domains/free SSL, and alignment with ALAI's existing Cloudflare DNS footprint. 3. bilko.io — from unreachable to live static landing 2026-04-20 18:45 UTC: Cloudflare notification confirms bilko.io is now active on Cloudflare (Free plan) — DNS zone onboarded. 2026-05-09 onward: GitHub Actions workflow Deploy bilko-io to CF Pages (static landing) (MC #100221, parent #100173, repo johnatbasicas/bilko → later alai-holding/bilko ) added to CI/CD. 2026-05-09 through 2026-06-18: Multiple recorded CI run failures for this workflow (repeated Run failed notifications on 2026-05-09, 05-14, 06-09, 06-17, 06-18) alongside sibling static-landing workflows for bilko-cloud (HR) and bilko-company (BA) — consistent with an unstable multi-market static-landing CI period, not a single one-shot cutover. Current (verified 2026-07-28): bilko.io resolves via Cloudflare (104.21.26.136 / 172.67.136.76) and returns HTTP/2 200 . Body served is the Bilko Serbian-market landing page ( sr-Latn , "Bilko — Računovodstvo bez komplikacija"), with reciprocal hreflang entries to bilko.cloud (hr-HR), bilko.rs (sr-RS), and bilko.company (bs-BA) — confirming bilko.io is one node in a multi-domain, multi-market static landing network, not a standalone site. 4. basicconsulting.no — retired as Bilko dev host, still live as corporate site Two distinct threads involve basicconsulting.no and must not be conflated: a) Corporate site (this doc's primary subject): basicconsulting.no itself remains live on Cloudflare Pages (migrated 2026-04-20, section 2 above). Verified 2026-07-28: resolves via Cloudflare (104.21.35.64 / 172.67.214.88), HTTP/2 200 , serving "Basic Consulting | Premium IT-rådgivning" (Norwegian corporate landing page). b) Bilko dev-config subdomains (retired): Per MC #10440 (2026-07-01), stale basicconsulting.no subdomain entries ( bilko-demo.basicconsulting.no , bilko-demo-api.basicconsulting.no , and a *.basicconsulting.no wildcard) were removed from Bilko's apps/web/next.config.js dev CSP and allowedDevOrigins , following the app's demo infrastructure migration to alai.no hosts. curl verification at the time: bilko-demo.basicconsulting.no — TLS handshake completes, no HTTP response; bilko-demo-api.basicconsulting.no — HTTP 502 (Cloudflare proxy up, origin dead). Verified again 2026-07-28: bilko-demo.basicconsulting.no resolves to a mixed CNAME/A-record set pointing at an orphaned GCP Cloud Run host ( bilko-web-*.a.run.app + Google IP range) — consistent with the MC #10440 finding of a dead legacy origin. These subdomains are not part of the live corporate site and are not expected to resolve to working content. 4a. Cross-reference — related existing BookStack page (discrepancy flagged, not resolved here) An existing page, "ALAI Domain Migration — basicconsulting.no → alai.no" (BookStack page id 2666, book Operations , created 2026-04-19, last updated 2026-07-05, tagged staleness: needs-review ), documents the basicconsulting.no Cloudflare zone ( 4670dbd0acfeab4174ac0d4746d11ea0 ) at the DNS/tunnel level: root + docs , sign , bilko-demo , www subdomains proxied via Cloudflare Tunnel to the Azure VM (4.223.110.181), separate from the CF-Pages-hosted apex corporate site covered in section 4a above. Discrepancy found: that page (last updated 2026-07-05) lists bilko-demo.basicconsulting.no as an "Active service." This conflicts with MC #10440 (2026-07-01, 4 days earlier) which found the same host dead by curl (TLS handshake completes, no response), and with this doc's own 2026-07-28 re-verification (orphaned GCP Cloud Run origin). The Operations-book page is already self-flagged needs-review — this log does not attempt to resolve the discrepancy, only surfaces it so a future reader does not treat the older page as current truth over the two independent 2026-07 dead-host findings. 5. Current live state summary (verified 2026-07-28) Domain Platform HTTP status Serves basicconsulting.no Cloudflare Pages 200 ALAI/Basic Consulting corporate landing (Norwegian) bilko.io Cloudflare Pages 200 Bilko Serbia static landing (sr-Latn), part of bilko.cloud/bilko.rs/bilko.company hreflang network bilko-demo.basicconsulting.no dead (orphaned GCP Cloud Run origin) n/a Not live — retired per MC #10440 6. Open items (not resolved by this log; flagged for follow-up, not actioned here) The 2026-04-21 triage email lists unresolved decisions on the dynamic app hosting strategy (Bilko on GCP Cloud Run vs. Drop on Azure VM vs. DropSrbija on ANVIL — no single strategy chosen) and the data/DB layer (Litestream/Azure Blob, per-product Postgres on ANVIL, single-instance Qdrant). No evidence found that these were subsequently decided; out of scope for this hosting log. bilko-demo-api.alai.no liveness is separately tracked as unresolved under MC #104570 (per MC #10440 doc) — not re-verified here as it is outside the basicconsulting.no/bilko.io scope of this task. Sources: email #2072 (message id in ~/system/databases/email-inbox.db , row 2072), ~/system/specs/ALAI-STATIC-HOSTING-BLUEPRINT.md (MC #8481), ~/system/docs/reconciliation/bilko-mc-10440-csp-cleanup.md (MC #10440), GitHub Actions notification history in email-inbox.db, live dig / curl checks 2026-07-28.