Update caddy

Andy Bunce 2025-03-24 20:42:26 +00:00
parent d8dc4d47ea
commit 3ba03d2c0c

253
caddy.md

@ -1,99 +1,180 @@
[Caddyfile](https://git.quodatum.duckdns.org/apb/thedocks/src/branch/master/caddy/Caddyfile)
```mermaid
%%{init:{'flowchart':{'nodeSpacing': 20, 'rankSpacing': 200}}}%%
flowchart LR
// the network https://graphviz.org/docs/attrs/href/
digraph saffron {
compound = true;
rankdir = LR;
fontname="Arial";
git --> x1
emby -->x2
jellyfin --> x3
tvheadend --> x4
wiki -->x10
wiki-alt --> x5
photoprism -->x13
code -->x6
code-alt -->x11
code-bmy -->x14
kodi -->x7
vpn((VPN)) -->x8
about-o -->x9
about-q -->x9
xu4 .-> omv
xu4 .-> n2-plus
xu4 .-> odroid-n2
subgraph quodatum ["Quodatum domain"]
direction TB
about-q[about]
subgraph gitea
git
git-alt
end
subgraph wiki
wiki
wiki-alt
end
node [fontname = "Arial"; shape = box;
style = filled; width = "2"; fillcolor = white; target = "saffron";];
edge [fontname = "Arial";];
ratio = "0.6";
size = "100";
subgraph cluster_x {
label = "The Internet ";
fontsize = "40";
node[fontsize=36;]
bgcolor=lightgrey;
subgraph cluster_a {
label = "quodatum.duckdns.org";
bgcolor = "#BDFFA4";
a1 [label = "wiki";href = "https://wiki.quodatum.duckdns.org";tooltip = "Tiddly wiki";];
a2 [label = "about";href = "https://about.quodatum.duckdns.org";tooltip = "about";];
subgraph vscode
code
code-alt
code-bmy
end
end
a5 [label = "oi";href = "https://oi.quodatum.duckdns.org";tooltip = "openwebUI";];
a3 [label = "git";href = "https://git.quodatum.duckdns.org";tooltip = "Forgejo";];
subgraph orlop ["Orlop domain"]
direction LR
about-o[about]
jellyfin
emby
tvheadend
kodi
photoprism
end
}
subgraph cluster_b {
bgcolor = "#BDFFA4";
label = "orlop.duckdns.org";
b1 [label = "about";href = "https://about.orlop.duckdns.org";tooltip = "about";];
b2 [label = "kodi";href = "https://kodi.orlop.duckdns.org";tooltip = "Kodi";];
b3 [label = "tvheadend";href = "https://tvheadend.orlop.duckdns.org";tooltip = "TV headend";];
b4 [label = "emby";href = "https://emby.orlop.duckdns.org";tooltip = "Emby";];
b5 [label = "jellyfin";href = "https://jellyfin.orlop.duckdns.org";tooltip = "Jellyfin";];
b6 [label = "Immich";href = "https://immich.orlop.duckdns.org";tooltip = "Immich";];
}
vpn [shape = circle;width = "0.75";fillcolor="lightblue"];
}
subgraph xu4 ["XU4"]
direction TB
x5[[tiddy-wiki:8088]]
x9[caddy]
x8[wireguard:51820]
x12[pihole]
end
subgraph cluster_s {
label = "Saffron @ 80.229.26.80";
fontsize = "30";
bgcolor=lightgrey;
subgraph cluster_c {
label = "xu4";
href="http://fins.local:8090/system/xu4";
tooltip="XU4 on beszel";
bgcolor = "#FFDEAD";
c0 [label = "caddy";];
c1 [label = "basex-test:9090";href = "http://odroid.local:9090";tooltip = "Basex 10.7";];
c2 [label = "tiddy-wiki:8088";href = "http://odroid.local:8088";tooltip = "Tiddly wiki";];
c5 [label = "wireshark:4000";href = "http://odroid.local:4000";tooltip = "Wire shark";];
c4 [label = "wireguard:51820";tooltip = "VPN service";];
subgraph omv
direction TB
x3[[jellyfin:8086]]
x2[[emby:8097]]
x1[[gitea:8300]]
x11[[vscode:8444]]
x14[[vscode:8448]]
x13[[photoprism:2342]]
x15[[rig]]
end
c6 [label = "redis-test:6379";tooltip = "Redis API";];
c7 [label = "pihole";href = "http://192.168.1.59";tooltip = "PiHole Ad blocker";];
subgraph n2-plus
direction LR
x4[[tvheadend:9981]]
x6[[vscode:2222]]
end
{rank=max;
xu4_1 [label = "p";shape = "doubleoctagon"; width=1;
href = "https://xu4.local:9443";tooltip = "portainer"; fillcolor=yellow ;];
xu4_2 [label = "b";shape = "doubleoctagon"; width=1;
href = "http://fins.local:8090/system/xu4";tooltip = "beszel"; fillcolor=yellow ;];
}
xu4_1 -> c1[style=invis];
xu4_2 -> c1[style=invis];
}
subgraph odroid-n2
x7[[kodi:2222]]
x10[[tiddlywiki:8088]]
end
%% Quodatum links
click git "https://git.quodatum.duckdns.org" "Gitea" _blank
click wiki "https://wiki.quodatum.duckdns.org" "tiddlywiki" _blank
click code "https://code.quodatum.duckdns.org" "vscode" _blank
%% Orlop links
click jellyfin "https://jellyfin.orlop.duckdns.org" "Jellyfin" _blank
click x3 "http://omv.local:8096" "Jellyfin" _blank
classDef domain fill:#BDFFA4,stroke:#333,stroke-width:1px;
classDef server fill:#FFDEAD,stroke:#333,stroke-width:1px;
classDef Red fill:#FF9999;
classDef Amber fill:#FFDEAD;
classDef Green fill:#BDFFA4;
class orlop,quodatum domain;
class xu4,omv,n2-plus,odroid-n2 server;
subgraph cluster_d {
label = "fins";
bgcolor = "#FFDEAD";
d1 [label = "ollama:11434";href = "http://fins.local:11434/";tooltip = "Ollama (AI)";];
d2 [label = "openwebui:3001";href = "http://fins.local:3001/";tooltip = "Open WebUI";];
d3 [label = "basex:8888";href = "http://fins.local:8888/";tooltip = "BaseX 10.7";];
d4 [label = "basex:8884";href = "http://fins.local:8884/";tooltip = "BaseX 11.3 Fusion auth";];
d5 [label = "beszel::8090";href = "http://fins.local:8090/";tooltip = "beszel (main)";];
d6 [label = "shotcut::3100";href = "http://fins.local:3100/";tooltip = "Video editor";];
d7 [label = "fusionauth:9011";href = "http://fins.local:9011/";tooltip = "Fusion auth";];
{rank=max;
fins_1 [label = "p";shape = "doubleoctagon"; width=1;
href = "https://fins.local:9443";tooltip = "portainer"; fillcolor=yellow ;];
fins_2 [label = "b";shape = "doubleoctagon"; width=1;
href = "http://fins.local:8090/system/fins";tooltip = "beszel"; fillcolor=yellow ;];
}
fins_1 -> d1[style=invis];
fins_2 -> d1[style=invis];
}
subgraph cluster_e {
label = "omv";
bgcolor = "#FFDEAD";
e1 [label = "forgejo:8300";href = "http://omv.local:8300";tooltip = "tvheadend";];
e2 [label = "jellyfin:8096";href = "http://omv.local:8096";tooltip = "jellyfin";];
e3 [label = "emby:8097";href = "http://omv.local:8097";tooltip = "Emby";];
e4 [label = "omv:81";href = "http://omv.local:81";tooltip = "Open media vault";];
e5 [label = "vikunja:3456";href = "http://omv.local:3456/";tooltip = "Vikunja";];
e6 [label = "dockge:5001";href = "http://omv.local:5001/";tooltip = "dockge";];
e7 [label = "immich:2283";href = "http://omv.local:2283/";tooltip = "Photos";];
{rank=max;
omv_1 [label = "p";shape = "doubleoctagon"; width=1;
href = "https://omv.local:9443";tooltip = "portainer"; fillcolor=yellow ;];
omv_2 [label = "b";shape = "doubleoctagon"; width=1;
href = "http://fins.local:8090/system/omv";tooltip = "beszel"; fillcolor=yellow ;];
}
omv_1 -> e1[style=invis];
omv_2 -> e1[style=invis];
}
subgraph cluster_f {
label = "odroid-n2";
rankdir="TB"
bgcolor = "#FFDEAD";
f1 [label = "kodi:8080";href = "http://odroid-n2:8080";tooltip = "kodi";];
f2 [label = "beszel-agent";href = "http://fins.local:8090/system/fins";tooltip = "Beszel agent";];
{rank=max;
odroid_n2_1 [label = "p";shape = "doubleoctagon"; width=1;
href = "https://odroid-n2:9443";tooltip = "portainer"; fillcolor=yellow ;];
odroid_n2_2 [label = "b";shape = "doubleoctagon"; width=1;
href = "http://fins.local:8090/system/kodi";tooltip = "beszel"; fillcolor=yellow ;];
}
odroid_n2_1 -> f1[style=invis];
odroid_n2_2 -> f1[style=invis];
};
subgraph cluster_g {
label = "n2-plus";
bgcolor = "#FFDEAD";
g1 [label = "tvheadend:9981";href = "http://n2-plus.local:9981";tooltip = "tvheadend";];
g2 [label = "glance:3050";href = "http://n2-plus.local:3050";tooltip = "glance";];
g3 [label = "spare";href = "http://n2-plus.local:19999";tooltip = "netdata";];
g4 [label = "ntopng:3000";href = "http://n2-plus.local:3000";tooltip = "ntop ng";];
{rank=max;
n2_plus_1 [label = "p";shape = "doubleoctagon"; width=1;
href = "https://n2-plus.local:9443";tooltip = "portainer"; fillcolor=yellow ;];
n2_plus_2 [label = "b";shape = "doubleoctagon"; width=1;
href = "http://fins.local:8090/system/n2-plus";tooltip = "beszel"; fillcolor=yellow ;];
}
n2_plus_1 -> g1[style=invis];
n2_plus_2 -> g1[style=invis];
}
subgraph cluster_h {
label = "velvet";
bgcolor = "#FFDEAD";
foo
}
}
a2 -> c0;
b1 -> c0;
a1 -> c2;
a3 -> e1;
a5 -> d2;
b2 -> f1;
b3 -> g1;
b4 -> e3;
b5 -> e2;
b6 -> e7;
vpn -> c4;
c0 -> d2 [style=invis;];
c0 -> f1 [style=invis;];
c0 -> e1 [style=invis;];
c0 -> g1 [style=invis;];
f2 -> d5;
}
```