- 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>
5.3 KiB
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 |
|
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:2087 — DNS-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 1–3 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.
Backlinks
wiki/clients/internal-infrastructure.md— full IX operational record (cPanel/WordPress hygiene, mail, Cox/Cloudflare)wiki/projects/radio-show.md— the radio show project (audio pipeline + post-show workflow)wiki/systems/jupiter.md— runs thecloudflaredtunnel container that fronts IX- Memory:
reference_radio_website.md,reference_ix_server_ssh.md,reference_resource_map.md