Skip to main content

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.


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.


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.