# Visual Guide > Status: draft | Updated 2026-07-07 | Applies to: AMPG operators and contributors This guide shows the core AMPG flows and common deployment topologies. Diagrams use Mermaid so they render in GitHub Markdown and can later be reused by a public docs site. ## Build Flow AMPG starts from one canonical site and renders transport-appropriate outputs. Rich web output can stay rich on clearnet, while constrained or privacy-oriented transports get safer defaults. ```mermaid flowchart LR source["Source site
static HTML, Markdown, or generated output"] graph["AMPG content graph"] clearnet["clearnet
HTML/CSS/assets"] tor["Tor
privacy HTML"] i2p["I2P
privacy HTML"] gemini["Gemini
Gemtext"] ipfs["IPFS
static tree"] reticulum["Reticulum
Micron"] manifest["fixture manifest
routes and expected transports"] source --> graph graph --> clearnet graph --> tor graph --> i2p graph --> gemini graph --> ipfs graph --> reticulum clearnet --> manifest tor --> manifest i2p --> manifest gemini --> manifest ipfs --> manifest reticulum --> manifest ``` ## Deployment Spine Live deploy work is split into narrow stages. Each stage has a dry-run form first, and live stages require explicit confirmation. ```mermaid flowchart TD init["init site"] build["build outputs"] plan["install-plan
review package, state, supervisor steps"] packages["deploy apply --stage packages
install selected daemon packages"] approve["approvals approve
record reviewed artifact digests"] state["deploy apply --stage state
copy approved config into AMPG state"] supervisor["deploy apply --stage supervisor
install AMPG-named service files"] start["deploy apply --stage start
start AMPG-owned services"] addresses["deploy apply --stage addresses
capture daemon-written public addresses"] health["deploy apply --stage health
verify published fixtures"] init --> build --> plan --> packages --> approve --> state --> supervisor --> start --> addresses --> health ``` ## Ownership Boundaries AMPG tries to keep operator-owned services, AMPG-owned generated state, and daemon-written identity material distinct. ```mermaid flowchart LR operator["Operator-owned
DNS, router, existing reverse proxy, adopted daemons"] ampg["AMPG-owned
generated outputs, reviewed artifacts, state registry"] daemon["Daemon-written
onion hostname, I2P destination, keys, logs"] public["Public routes
clearnet, Tor, I2P, Gemini, IPFS, Reticulum"] operator -- may be adopted by policy --> ampg ampg -- starts or configures managed service --> daemon daemon -- writes transport identity --> ampg ampg -- publishes selected outputs --> public ``` ## VPS Multi-Transport A normal VPS is the cleanest full-stack topology. AMPG can adopt existing daemons or manage missing ones, while clearnet DNS and TLS remain operator-controlled by default. ```mermaid flowchart TB dns["DNS provider
A/AAAA/CNAME records"] internet["public internet"] vps["VPS host"] ampg["AMPG"] outputs["/var/www/ampg/site outputs"] nginx["nginx or Caddy
clearnet ingress"] tor["Tor daemon
onion service"] i2p["i2pd
server tunnel"] gemini["Gemini daemon"] users["Visitors and AMPB checks"] dns --> internet --> vps vps --> ampg --> outputs outputs --> nginx outputs --> tor outputs --> i2p outputs --> gemini nginx --> users tor --> users i2p --> users gemini --> users ``` ## Home Server Behind A Router Behind-router clearnet publishing may need port forwarding, IPv6, Dynamic DNS, a reverse tunnel, or DNS-01 certificate validation. Tor and I2P can often avoid inbound clearnet port forwarding. ```mermaid flowchart LR visitor["Visitor"] dns["DNS or Dynamic DNS"] router["Home router
NAT and firewall"] host["Laptop or mini server"] ampg["AMPG"] clearnet["clearnet web server"] tor["Tor onion service"] i2p["I2P server tunnel"] visitor --> dns --> router --> clearnet router --> host host --> ampg ampg --> clearnet ampg --> tor ampg --> i2p visitor -. no router port forward required for many cases .-> tor visitor -. no router port forward required for many cases .-> i2p ``` ## Android Or Termux Server An old phone can be useful for mobile-server experiments. AMPG plans user-space daemons, Termux package installs, and service scripts, while battery policy, storage, and public reachability remain device-owned. ```mermaid flowchart TB phone["Android phone
Termux"] ampg["AMPG CLI"] pkg["pkg install
tor, i2pd, nginx"] state["Termux state
AMPG config, keys, logs"] services["termux-services
AMPG-named daemons"] transports["Tor/I2P/Gemini/Reticulum routes"] checks["health checks
fixture URLs"] phone --> ampg ampg --> pkg ampg --> state state --> services services --> transports transports --> checks ``` ## Single-Transport Deployments AMPG should also work when the operator wants only one selected transport. This is useful for I2P-only, Tor-only, Gemini-only, or Reticulum-focused deployments. ```mermaid flowchart LR source["existing site"] ampg["AMPG"] selected["selected transport only"] daemon["adopted or managed daemon"] public["published route"] source --> ampg --> selected --> daemon --> public ``` ## Browser Test Loop AMPG writes fixture manifests so a companion browser or checker can verify that each route uses the expected transport profile. ```mermaid sequenceDiagram participant Site as Source site participant AMPG as AMPG participant Manifest as Fixture manifest participant AMPB as AMPB/browser checker participant Transport as Selected transport Site->>AMPG: build selected outputs AMPG->>Manifest: write route expectations AMPB->>Manifest: load fixtures AMPB->>Transport: request fixture URL through expected profile Transport-->>AMPB: return generated output AMPB-->>AMPG: report pass or failure ``` ## Public Docs Site Path The first public docs site should be generated from the public Markdown docs in this repository. A GitHub Pages build can later reuse these Mermaid diagrams with MkDocs, mdBook, or another static docs generator. Private strategy notes, deployment inventory, and host-specific material should stay under private docs and outside any Pages build. ## Example Site Roles `ampgateway.online` : Public system guide. It explains AMPG concepts, transport flows, topologies, domain onboarding, and deploy stages. It should stay concise, visual, and operator-facing. `ampgateway.site` : Public demo site. It should behave like a real small site someone might deploy: static catalog, plain form fallback, optional clearnet enhancement, and comments in source that explain how the same content survives privacy HTML, Gemtext, and Micron outputs. Both sites are source inputs consumed by AMPG. Clearnet output can remain visually rich; Tor and I2P use privacy HTML; Gemini uses Gemtext; Reticulum uses Micron.