digraph { compound=true; fontname="arial"; rankdir=LR; splines="compound"; newrank=true; node [ color="#d3edea", fontname="arial", fontname="", fontsize=12, margin="0.22,0.110", shape=box, style=filled ]; edge [ minlen=2 ]; subgraph cluster_home { label="LAN"; router [ label="router" labelloc=c ]; subgraph cluster_logic_b0mb { label="logic-b0mb host" subgraph cluster_lxc_logic_b0mb { label="Incus containers" rank=same; influxdb_logic_b0mb [ label="influxdb" labelloc=c ]; unbound_logic_b0mb [ label="unbound\n(ad-blocker)" labelloc=c ]; etc_logic_b0mb [ label="..." labelloc=c ]; } resolv_conf_logic_b0mb [ label="resolv.conf" labelloc=c ]; dnsmasq_logic_b0mb [ label="Incus dnsmasq" labelloc=c ]; dnsmasq_logic_b0mb -> resolv_conf_logic_b0mb -> unbound_logic_b0mb influxdb_logic_b0mb -> dnsmasq_logic_b0mb etc_logic_b0mb -> dnsmasq_logic_b0mb } subgraph cluster_xps { label="xps host" dnsmasq_xps [ label="Incus dnsmasq" labelloc=c ]; resolv_conf [ label="resolv.conf" labelloc=c ]; subgraph cluster_lxc_xps { label="Incus containers" etc_xps [ label="..." labelloc=c ]; qutebrowser [ label="qutebrowser" labelloc=c ]; } qutebrowser -> dnsmasq_xps etc_xps -> dnsmasq_xps dnsmasq_xps -> resolv_conf resolv_conf -> unbound_logic_b0mb } unbound_logic_b0mb -> router [ dir="both" ]; } subgraph cluster_ovh { label="VPS" dnsmasq_incus_ovh [ label="Incus dnsmasq" labelloc=c ]; resolv_conf_ovh [ label="resolv.conf" labelloc=c ]; subgraph cluster_ovh_lxc { label="Incus containers" etc_ovh [ label="..." labelloc=c ]; blog [ label="blog" labelloc=c ]; unbound_container [ label="unbound" labelloc=c ]; } etc_ovh -> dnsmasq_incus_ovh blog -> dnsmasq_incus_ovh unbound_container -> roots unbound_container -> strongswan [ label="internal.home" ]; dnsmasq_incus_ovh -> resolv_conf_ovh -> unbound_container strongswan [label="strongswan" labelloc=c ]; } router -> strongswan strongswan -> router [ label="internal.home" ]; strongswan -> unbound_container roots [ label="dns roots" localloc=c ]; }