commit 2a93f35d17e50ad05d0f1b8a7d319d17866ee779 Author: Raspberry Pi Date: Tue Jul 28 11:17:05 2026 +0000 init: initial commit diff --git a/caddie.ts b/caddie.ts new file mode 100755 index 0000000..55c327d --- /dev/null +++ b/caddie.ts @@ -0,0 +1,81 @@ +import { writeFileSync } from "fs" + +const mappings = { + // portfolio + "silicoflare.dev": "http://sunfire:3000", + "www.silicoflare.dev": "http://sunfire:3000", + "www.hy-pr.link": "http://sunfire:3000", + "blog.silicoflare.dev": "http://sunfire:2368", + + // mini-services + "yamtrack.hy-pr.link": "http://sunfire:9002", + "todo.hy-pr.link": "http://sunfire:9001", + "affine.hy-pr.link": "http://sunfire:9005", + "affine-nyx.hy-pr.link": "http://sunfire:9005", + "cash.hy-pr.link": "http://sunfire:9006", + "pin.hy-pr.link": "http://sunfire:9007", + // "stardew.hy-pr.link": "http://sunfire:9008", + // "keep.hy-pr.link": "http://sunfire:9010", + "dl-api.hy-pr.link": "http://sunfire:9011", + "dl.hy-pr.link": "http://sunfire:9012", + "pics.hy-pr.link": "http://sunfire:9013", + "books.hy-pr.link": "http://sunfire:9014", + "nametag.hy-pr.link": "http://sunfire:9015", + "rss.hy-pr.link": "http://sunfire:8080", + + // mega-services + "git.hy-pr.link": "http://sunfire:9100", + "ntfy.hy-pr.link": "http://localhost:9101", + "chat.hy-pr.link": "http://sunfire:9102", + "dav.hy-pr.link": "http://sunfire:9103", + "files.hy-pr.link": "http://sunfire:9104", + "ytrewq.hy-pr.link": "http://sunfire:9105", + "pocketbase.hy-pr.link": "http://sunfire:8090", + "immich.hy-pr.link": "http://sunfire:2283", + "auth.hy-pr.link": "http://sunfire:1411", + + // other + "webhook.hy-pr.link": "http://sunfire:8000", + "docs.hy-pr.link": "http://sunfire:10000", + "license.hy-pr.link": "http://sunfire:10001", + "type.hy-pr.link": "http://ultramarine:3000", + "type-api.hy-pr.link": "http://ultramarine:5005", + + // statics + "chef.hy-pr.link": "http://100.64.0.3:8100", + "it-tools.hy-pr.link": "http://100.64.0.3:8101", + "vert.hy-pr.link": "http://100.64.0.3:8103", + "pdf.hy-pr.link": "http://100.64.0.3:8104", +} + +let caddyfile = `# Caddyfile +http://139.84.140.254 { + redir https://silicoflare.dev{uri} +} + +hy-pr.link { + redir /silicoflare https://silicoflare.dev + redir /flare https://silicoflare.dev +} + +ssh.hy-pr.link { + header Content-Type text/plain + respond "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINt3OrGyuZkH+NliwamlZJPFJsgSF4O2+V149EUhtq3l silicoflare.dev\n" 200 +} + +ssh.silicoflare.dev { + header Content-Type text/plain + respond "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINt3OrGyuZkH+NliwamlZJPFJsgSF4O2+V149EUhtq3l silicoflare.dev\n" 200 +} + +` + +Object.entries(mappings).map(([key, value]) => { + caddyfile += `${key} { + reverse_proxy ${value} +} + +` +}) + +writeFileSync("/etc/caddy/Caddyfile", caddyfile) diff --git a/cadedit b/cadedit new file mode 100755 index 0000000..4897328 --- /dev/null +++ b/cadedit @@ -0,0 +1,5 @@ +#!/bin/bash + +nvim /home/linuxuser/bin/caddie.ts +sudo /home/linuxuser/.bun/bin/bun /home/linuxuser/bin/caddie.ts +sudo systemctl reload caddy