Skip to content

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:3000

TLS

  • Automatic HTTPS via Let's Encrypt (Caddy's default)
  • HeyPuter instances receive X-Forwarded-Proto: https and X-Forwarded-Port: 443 from Caddy

Domains Served

DomainBackendNotes
cadenceworks.tech / www.cadenceworks.techPortfolio (~/portfolio)Apex marketing site
docs.cadenceworks.techStatic (~/docs-site/site)VitePress docs
portal.cadenceworks.tech / chat.cadenceworks.techStatic (~/webapp-portal/dist)Portal UI; /api:8787
code.cadenceworks.techcode-server (8080)Browser VS Code
webstudio.cadenceworks.techlocalhost:3000Webstudio
cloud.cadenceworks.techNextcloud (9080)File sync
n8n.cadenceworks.techn8n (5678)Workflow automation
dav.cadenceworks.techRadicale (5232)CalDAV/CardDAV
portainer.cadenceworks.techPortainer (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.

Northeast Systems · Aux Server · Infra Server