From 9f6b4984efdd5b456e7deee05747666285a02bde Mon Sep 17 00:00:00 2001 From: Samantha Atkins Date: Wed, 25 Mar 2026 20:21:13 -0400 Subject: [PATCH] missed content --- .gitignore | 45 ++++++++++++++++++++ compose_files/Caddyfile | 28 +++++++++++++ compose_files/caddy.yml | 39 ++++++++++++++++++ compose_files/files.zip | Bin 0 -> 4361 bytes compose_files/fusionauth.yml | 39 ++++++++++++++++++ compose_files/n8n.yml | 55 +++++++++++++++++++++++++ compose_files/nats.conf | 15 +++++++ compose_files/nats.yml | 33 +++++++++++++++ compose_files/postgres-init/01-init.sh | 20 +++++++++ compose_files/postgres.yml | 44 ++++++++++++++++++++ proxmox/post_init_node.org | 5 +++ 11 files changed, 323 insertions(+) create mode 100644 .gitignore create mode 100644 compose_files/Caddyfile create mode 100644 compose_files/caddy.yml create mode 100644 compose_files/files.zip create mode 100644 compose_files/fusionauth.yml create mode 100644 compose_files/n8n.yml create mode 100644 compose_files/nats.conf create mode 100644 compose_files/nats.yml create mode 100755 compose_files/postgres-init/01-init.sh create mode 100644 compose_files/postgres.yml create mode 100644 proxmox/post_init_node.org diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..addfb5d --- /dev/null +++ b/.gitignore @@ -0,0 +1,45 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +build/ +dist/ +wheels/ +*.egg-info/ +*.egg + +# Virtual environments +.venv/ +venv/ +ENV/ + +# IDE +.idea/ +.vscode/ +*.swp +*.swo +*~ + +# Jupyter +.ipynb_checkpoints/ + +# Testing +.pytest_cache/ +.coverage +htmlcov/ + +# Type checking +.mypy_cache/ + +# Environment variables +.env +.env.* + +# OS +.DS_Store +Thumbs.db diff --git a/compose_files/Caddyfile b/compose_files/Caddyfile new file mode 100644 index 0000000..83f25c1 --- /dev/null +++ b/compose_files/Caddyfile @@ -0,0 +1,28 @@ +# Caddyfile +# Place this at /etc/caddy/Caddyfile on the caddy instance. +# Caddy will automatically obtain and renew TLS certificates via Let's Encrypt. + +# erda-reader +reader.erdaverse.com { + handle /api/* { + reverse_proxy erda-reader-backend:8000 + } + handle { + reverse_proxy erda-reader-frontend:3000 + } +} + +# FusionAuth +auth.erdaverse.com { + reverse_proxy fusionauth:9011 +} + +# n8n +n8n.erdaverse.com { + reverse_proxy n8n:5678 +} + +# NATS WebSocket +nats.erdaverse.com { + reverse_proxy nats:8080 +} diff --git a/compose_files/caddy.yml b/compose_files/caddy.yml new file mode 100644 index 0000000..7cc62d7 --- /dev/null +++ b/compose_files/caddy.yml @@ -0,0 +1,39 @@ +version: '3.8' + +# Deploy with: +# docker stack deploy -c caddy.yml caddy +# +# Runs on: CADDY_INSTANCE (ip-10-0-1-168) +# Caddy handles TLS automatically via Let's Encrypt. +# Reverse proxies all public subdomains to the correct services on erda-net. +# Caddyfile is bind mounted from the host — edit /etc/caddy/Caddyfile on the caddy instance. + +services: + caddy: + image: caddy:latest + ports: + - "80:80" + - "443:443" + volumes: + - /etc/caddy/Caddyfile:/etc/caddy/Caddyfile + - caddy_data:/data + - caddy_config:/config + networks: + - erda-net + deploy: + replicas: 1 + placement: + constraints: + - node.hostname == ip-10-0-1-168 + restart_policy: + condition: on-failure + delay: 5s + max_attempts: 3 + +volumes: + caddy_data: + caddy_config: + +networks: + erda-net: + external: true diff --git a/compose_files/files.zip b/compose_files/files.zip new file mode 100644 index 0000000000000000000000000000000000000000..bf5fb4bb6589173638364edd74c39cf9a6afc8fd GIT binary patch literal 4361 zcmZ`-XHZk?+6}!|=_M5DMM4WfTHt^n7%4(1q4$~qf^-Zhy@cwaNK-&SibxXy=|vO~ zq(mT~Kj%-u8l$KEsR$6jl_>sik>G9V#k0RRA$0Hb&x>)iJqBMn3V zfEoz^KudV*i@F`)=I?U*N{ElQiwO)h3!?4VG-q5xBPnJTqa&bD2AxZ^ZH+o}4uk0W zoNMt?AebO)AFE@h$RhVx_MMzopw|5|oA1c=@(eMP2h&GYGvQ$sg*(76=DW5nmLZuqXBT*+ zZFv0aWO8?qx%28>h@_sa1KVdJj%kf_^=mH&_)ESgHIjQ> z4I(bS1AaDWA^xySNcE%xgDb;#ZA)9v4Ok1#7p%fI9m|$ts>W5VYa2e&H?6CVR14nI zrQ+*NRyb+aboE>;(6gZQbKNQ{(|Q;Nf@#3Zl|)cudiD$HCnQFHh?}3vCn!n`0BjS) zr6-8%8hG0Sg>(oEaQ`K*&#gDeSrB9UrX-tQR4EkS=XZ;P)IUucZ#?lp;I)`Pv%9}j zL%LpeDG!ZKRHSz2Gdq*vR9?IvbC9dsi#DrTW9|~6s3lEQ@K%T}qoY{`IWWeCiJjQD zA82&1K1&U-P_KUP>?P~?Ol>I4GC*r*=yiq_mwUvZCdWL!<%0rE`4Z(#ZT#`*clpkp z<4#(Qmv5iefPA$W$zP2t9+~?xkZ!;XXe1S6IDWb5_k`( ztNuQrik*HurDRW=!jwc@QpFx)uS4Rc>Cn#VVcqtQw`{VU$kSmuzDm(tnDzOf>3RtH zkrjk{QS(VRn3z%6MsU6B$*67-oK?I+$El@NY+6gw@=>FTER@5!TTJh9cwzYE-Fq?| zm09%$DJyQ8Hw}-8T2E9VI~J?qdouzFOHxHojOFM=n4&uNagCN~yoB{Mw>Bvh&+Yg?sSA?b!WZ)-O~Z`R2p8iFRLn z50bAW<6MnZr)ICqU&?)H#fe_;x{`7e+neERB9hTf@Jp1R8-_c{YCIY}sTlf`=ub=C zCnI5zCs;~~6ab(gSPBV2{_;}bEf^*r#Mp5ld2L327N`e?wWXweg;LI>%xIBnKiwu% z{v-rXPVvqpHT$u{8y8-ag?Icuf6$)07i^I2Y7*?Lv6b?Lca>hGapidoue=vS3!qF2 zY#IeF#X>*UBZ(Y^LVfzTH|9z}9{0()#dk$BTf(`@a{0&v!d;tGf_?esqEv!;A~ehF zSWLZ|Ke24Mc3XBMuyVvi;&0ekaE>?i#9L8OIq&qqRavYKkIaXL{S?d)vBs(tQYdx+ zJe~DutMK(J9c5Y5d=lOM2jb!q5;sK2bCM6XeAq&b41C~;8~%O{u6}uHq7I3jGACh7 zxU9E}q{0iGbe;31qLC|@9}23=5ANE_8}^o7Qn0}JaBINqmYf&6pLC9i4c8Ul9VB7< z!u)EiIcYg(cL_75nA2y;)7PnL!F{VpB7$yE#_zj)k*H|T=CKCtInOl*Il6uCQOG;d?A0|@F1ZPZ=0RhpEtz?U`Mx4Z_@6adRdOWN)z5b-deV@GIENjTQ<$^ z(>VbIT)r#F`o%)Ck>cKEliMcmH@k@ukHFL_PKRWw%TWUzim4g=tT9hSgO4Ha*iNRh zUVA0n+-|E7mXDj3h-ni_c0#=KzOL-Cck_s|a!6ft;CK{{`y6{TU`CnrC_(gnNy}8J(1VNC7OAPYuFMnJ74C*UXtke@#w#J$vaw` z%-Nlhmxl-rJhd*rjK+KFGHKV(L~WyzsEMnR5q7H#^7<2~GyeBSR&&ySYfLdfE=9#H^%<*RdQS zk`i=>%ZKE?z!uZ5&=mbgoVD06+U8XNi%~n}_XE!E2rvW!+~|8(CoOT_fsEJ7a>^i{ z>R*m`Qfb^huw32z`B;tO?_rZ1ai7^|G#!~F(_w~kkoD?X6&;tU?7gh_l7l$1O%`kN z(?E#LK!881K2@etX=S}&(fL}!I2nibWf4|6bciZ~OQXRZY6vRoZEI4-=!J0v;(YTa zUTu07tiV=`yx&ir>8&CR6q|*^AILB6y|`w!56d8G8L%#uUABK)_A~P!QiAuaMoM$3 z@Gak;p#iN{Jk%zHh71`1Kur+WNg===75FPR@L3C}4Ro6LD>6^h%E1f82J=ot1ol~A`oikq{B#UeU`+Tr|c+mM=L8lw)MZK0J@!*e7 zTiAnC`?m&_URdfD!55@Miiq1JQ^w7)?MJ7y*e*^RvOt03&UvQTQAwAQ&oK>_;Dk(t zWL>6qma>KI6W-3vqCh(btd2JSO3RfK@6W5pd{EA%sl>8nBe;QhPPM~jv1IqcX(;c+ zOS#r76-GoK$e3gGawd^wll1&qOV^AOT3vpGcGfAJ!hMsPZlI0Dr6F`ZimFzLpQt`G z%z2YeX{usdmhBE)iTJ5Qd#Tz_*ldL@AzUzazdYDLkmf5ek(-FS+QAymnQMWpvDmKZ z5n>i?2(-w!io~T3Oxi9|{HXslhn(UI>Vxp}m)L2+A4R)*a93ldeOnriu+ z-j5VcB=D=N-TH_p?%kii^8hh@5#&5_OV3T59-S(=UztPRXxguJp^s z_(Al%>x8mxmIc{i2Zh?-KaEE53x_;$9uV5hipfWP^QdRNGR$NiOqMa1bwRB2*?XY; znCt$E1(=3Qwz0SsFWABB{4w;VXpI+r$vrpRc|TXFsi__&UrTM`c@N3sq#1(1A;? zT0yMH4D~WeF}8!vSyQH6v+}~^E*$yktyFcmk4TT7%8u#HY^PUtQkOF z>2f#yESrg^x-%t!B}Ht~nU?I`C%+?Wn(N5N+`X`H7my+>mL8BhYGoUitB{0WdUjR3 z&QGFG$BcR{6Gz?!-=M>D`Xz#l2R0eSkAwkab5d^p%5AL!K|wUH?Jzv|yd-$C?}Br` z)AC%EdnKEgCDnG+d7nPgZNd5D&)XR`VGMg9la8F+sB;_ZjP%Q|hJ+jsjhm63Exz1x(0u!A2loK+y` z8!%5ILKVj1Hg-m&CA`Lw<`v%;aDRH6#v*Z%3r2b5>r08qNCE<}10|Vb$2V||Ba9~1 zW~-0}hdPqd0#7uYITUgfP{}bK#+}ilKkGH7q#*l@aeAc){{~&CN0F%35hxo@-#O&+ z7v9X6W#tT0u60(zhTSTpy>lfW^|Zpezz0(q6s2_C>apF#yD^1Ja^-IV>#Yk_+Z`VV z(bv`QuY5(8eY(IDbg&|xo4`^rA&qGWOo3#jJ&+y&S8n@xr(g_G(IAevo$$m3hXhg8 zZTrPaY6&VLVn}MK)}%;-u#cbRgNS2Rk@E!EP>=DJh(gu6O~Le;EtU_TqPf@f_XZ%f zNsX*rCZ=zJSpPCQunAZAb}ke~*KZuzOhI1TO`q}&7&Kum>sg)r)edYbZ)A+9@wP~T z%g5B1+BeSh+NQQUIz1s_uURoko7yS}*~pw5yn1lU`%JcJ>3Lidzny@9CA_aPZfthc zv4G4^d+J-&p(}oOUnP&83$yHeP41_a8H$m8tRr$m>J~Ge-yvRzPCfd)-6`kdTDmZ1 zhZP5Q6huxvJEr(CCKSpx-@UrneW@0N8Db#Y+-M!68m+3)dv5qB|sf8)jobN}Bcz6iT`et*OI3I8Pi jJ /etc/apt/sources.list.d/pve-no-subscription.list +mv /etc/apt/sources.list.d/pve-enterprise.sources /etc/apt/sources.list.d/pve-enterprise.sources.disabled +mv /etc/apt/sources.list.d/ceph.sources /etc/apt/sources.list.d/ceph.sources.disabled +echo "deb http://download.proxmox.com/debian/ceph-squid trixie no-subscription" > /etc/apt/sources.list.d/ceph-no-subscription.list