Appearance
Caddy
Overview
Caddy 2.6.2 serves as the primary reverse proxy and TLS termination point for cadenceworks.tech.
Configuration
Config file: /etc/caddy/Caddyfile
Representative blocks (see live file for full config):
cadenceworks.tech, www.cadenceworks.tech {
encode gzip zstd
root * /home/ty/portfolio
try_files {path} {path}/index.html
file_server
}
docs.cadenceworks.tech {
root * /home/ty/docs-site/site
encode gzip zstd
try_files {path} {path}/
file_server
}
portal.cadenceworks.tech, chat.cadenceworks.tech {
root * /home/ty/webapp-portal/dist
handle /api/* {
reverse_proxy 127.0.0.1:8787
}
handle {
try_files {path} /index.html
file_server
}
}
code.cadenceworks.tech {
reverse_proxy http://localhost:8080
}
portainer.cadenceworks.tech {
reverse_proxy localhost:9000
}
n8n.cadenceworks.tech {
reverse_proxy localhost:5678
}
cloud.cadenceworks.tech {
reverse_proxy localhost:9080
}
dav.cadenceworks.tech {
reverse_proxy localhost:5232
}
puter1.cadenceworks.tech, api.puter1.cadenceworks.tech, site.puter1.cadenceworks.tech, host.puter1.cadenceworks.tech, app.puter1.cadenceworks.tech, dev.puter1.cadenceworks.tech, s3.puter1.cadenceworks.tech {
reverse_proxy localhost:4101 {
header_up X-Forwarded-Proto https
header_up X-Forwarded-Port 443
}
}
# puter2 → localhost:4102, puter3 → 4103, puter4 → 4104 (same subdomain pattern)
# also: webstudio.cadenceworks.tech → localhost:3000TLS
- Automatic HTTPS via Let's Encrypt (Caddy's default)
- HeyPuter instances receive
X-Forwarded-Proto: httpsandX-Forwarded-Port: 443from Caddy
Domains Served
| Domain | Backend | Notes |
|---|---|---|
cadenceworks.tech / www.cadenceworks.tech | Portfolio (~/portfolio) | Apex marketing site |
docs.cadenceworks.tech | Static (~/docs-site/site) | VitePress docs |
portal.cadenceworks.tech / chat.cadenceworks.tech | Static (~/webapp-portal/dist) | Portal UI; /api → :8787 |
code.cadenceworks.tech | code-server (8080) | Browser VS Code |
webstudio.cadenceworks.tech | localhost:3000 | Webstudio |
cloud.cadenceworks.tech | Nextcloud (9080) | File sync |
n8n.cadenceworks.tech | n8n (5678) | Workflow automation |
dav.cadenceworks.tech | Radicale (5232) | CalDAV/CardDAV |
portainer.cadenceworks.tech | Portainer (9000) | Container management |
puterN.cadenceworks.tech (+ subdomains) | HeyPuter nginx (4101–4104) | HeyPuter fleet; N=1..4 |
HeyPuter subdomains per instance: api, site, host, app, dev, s3 under puterN.cadenceworks.tech.
API
Caddy's admin API listens on 127.0.0.1:2019.