Files
claudetools/wiki/systems/ix-server.md
Mike Swanson c9b9a3f479 docs(wiki): add IX hosting server system article + radio site infra
- New wiki/systems/ix-server.md: IX web host (172.16.3.10) facts, the
  ACG hosted sites table, and a full record of radio.azcomputerguru.com
  (Astro static + React 19 islands; source in projects/radio-show/website/;
  build npm run build -> dist -> rsync to cPanel doc root).
- index.md: list the new IX systems article.
- radio-show.md: fix the stale "ix-server.md may not exist" backlink.
- memory reference_radio_website.md: add stack detail (React islands,
  wavesurfer/fuse, node>=22) + pointer to the new wiki article.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 17:58:10 -07:00

5.3 KiB
Raw Blame History

type, name, display_name, last_compiled, compiled_by, sources
type name display_name last_compiled compiled_by sources
system ix-server IX Web Hosting Server 2026-06-05 GURU-5070/claude-main
.claude/memory/reference_radio_website.md
.claude/memory/reference_resource_map.md
wiki/clients/internal-infrastructure.md
projects/radio-show/website/ (source tree)

IX Web Hosting Server

ix.azcomputerguru.com — Arizona Computer Guru's cPanel/WHM shared-hosting box. It hosts ACG's own public-facing static sites (including radio.azcomputerguru.com), the community forum, the analytics server, and ~87 client WordPress installs.

Deep operational detail (cPanel account hygiene, WordPress hygiene, mail accounts, the Cox→Cloudflare BGP workaround) lives in wiki/clients/internal-infrastructure.md. This article is the systems-level record and the home for the ACG static sites deployed here.

Host facts

Item Value
Hostname ix.azcomputerguru.com
Internal IP 172.16.3.10 (Tailscale required)
External IP 72.194.62.5
Stack CloudLinux 9.7, Apache, WHM/cPanel, per-account MySQL/MariaDB
WHM https://ix.azcomputerguru.com:2087DNS-only / grey-cloud in Cloudflare (:2087/:2083 can't traverse the tunnel)
SSH ssh root@172.16.3.10 (internal) or ssh root@72.194.62.5 (external)
Vault infrastructure/ix-server.sops.yaml
Edge Cloudflare tunnel acg-origin (UUID 78d3e58f-1979-4f0e-a28b-98d6b3c3d867) on Jupiter routes the ACG hostnames to IX :443

[WARNING] Do NOT attempt interactive/key-based SSH from scripts to the gurushow account host path — for that account use paramiko with look_for_keys=False, allow_agent=False. Root SSH uses the vault password (infrastructure/ix-server.sops.yaml).

Hosted ACG sites

Hostname Stack cPanel account / doc root
radio.azcomputerguru.com Astro static (+ React islands) azcomputerguru/home/azcomputerguru/public_html/radio
azcomputerguru.com Astro static (public site) acg / azcomputerguru
community.azcomputerguru.com Flarum forum (forum DB)
analytics.azcomputerguru.com Matomo
(radio audio archive) static MP3 archive gurushow/home/gurushow/public_html/archive/Radio/
~87 client sites WordPress per-client cPanel accounts

All four ACG hostnames above reach IX through the Cloudflare tunnel (all returned HTTP 200 via tunnel as of the 2026-04-13 cutover). ix.azcomputerguru.com itself stays grey-cloud (direct to 72.194.62.5) so WHM/cPanel ports work.


radio.azcomputerguru.com — "The Computer Guru Show" website

The public site for the radio show. Built by Claude; source lives in the ClaudeTools repo, not on the server — the server only holds the built dist/.

Item Value
URL https://radio.azcomputerguru.com
Source projects/radio-show/website/ (ClaudeTools repo)
Framework Astro ^6.0.4, output: 'static'
Islands / libs @astrojs/react (React 19), @astrojs/mdx, @astrojs/sitemap, @astrojs/rss; wavesurfer.js (episode audio waveform), fuse.js (client-side search)
Node >= 22.12.0
Content Markdown/MDX collections at src/content/episodes/ and src/content/blog/ (src/content.config.ts)
Pages index, about, community, contact, live, subscribe, episodes/, blog/, feed.xml (RSS), 404
Layout single src/layouts/BaseLayout.astro; components under src/components/{global,home,episodes}/
Analytics Matomo site ID 3 — tracker injected into built HTML before </head>

Build & deploy

cd projects/radio-show/website
npm install          # first time only (node >= 22.12.0)
npm run build        # -> dist/
# deploy: rsync dist/ contents to the IX doc root
rsync -az --delete dist/ <ix>:/home/azcomputerguru/public_html/radio/

astro.config.mjs pins site: 'https://radio.azcomputerguru.com' (correct canonical URLs + sitemap + RSS). There is no server-side runtime — it is a pure static deploy.

Relationship to the radio-show project

The website is tier 1/3 of the post-show content workflow documented in wiki/projects/radio-show.md: each episode produces an episode page (src/content/episodes/sXXeYY-slug.md) and 13 deep-dive blog posts (src/content/blog/<slug>.md), generated from show-prep + debrief and deployed here. The audio-processing pipeline, archive DB, and FastAPI browse UI are separate from this static site.

human-flow note

The site is Astro static but ships React 19 islands, so the human-flow AST scanner can analyze its .tsx island components (it skips .astro templates). Point it at projects/radio-show/website/src/components for a component-level Friction Index; the page-level .astro flows still need a manual/heuristic pass.