graph { graph [rankdir=BT; nodesep=0.75; ranksep=0.5] node [shape=box] client -- relayd [label="HTTPS"] relayd -- httpd [label="HTTP\nstatic html"] relayd --buthd [label="HTTP\nhtmx frags\napi"] buthd -- authfs [label="9P"] buthd -- shopfs [label="9P"] subgraph cluster_lan { relayd, httpd, buthd, authfs, shopfs {node [shape=cylinder]; authfs, shopfs} } }