2.1 KiB
2.1 KiB
Caddy Deployment for HTML Artifacts
When the user wants to see the built HTML in a browser (especially on their phone or from Telegram), deploy to the infrastructure's Caddy server for a real HTTPS URL.
When to deploy
- User asks to "see" the mockup/page (not just hear about it)
- The artifact is a self-contained HTML file
- User is on a phone or messaging platform where
file://paths don't work - You want a clickable link, not instructions to open a local file
Standard deployment
# 1. Copy to web root (filename = URL path)
cp /path/to/source.html /var/www/static/<short-name>
chmod 644 /var/www/static/<short-name>
# 2. Add Caddy route if needed (edit /etc/caddy/Caddyfile)
# Append a new @<name> handle block before the closing brace
# Pattern:
# @<name> path /<name>
# handle @<name> {
# root * /var/www/static
# file_server
# }
# 3. Reload Caddy
caddy reload --config /etc/caddy/Caddyfile
# 4. Verify
curl -sI https://core.itpropartner.com/<short-name>
# Expect 200
# 5. Send link
# https://core.itpropartner.com/<short-name>
Pitfalls
- File permissions matter. A file with
600returns 403 even with the correct root. Alwayschmod 644. - URL path = filename.
/var/www/static/voip-demo→/voip-demo. Drop the.htmlextension from the URL unless the filename has it. - 404 after adding route? Check file permissions first. If the file is
644, check it actually exists at the exact path. - Don't add duplicate routes — if a handler already covers that path prefix (e.g.
core.itpropartner.com { ... }withfile_server), just copy the file; no Caddyfile edit needed.
Pages deployed to date (for reference)
| Path | What it serves | Description |
|---|---|---|
/vehicles.json |
JSON | Vehicle database for Apex |
/capabilities |
Directory | Portal mockup / capabilities page |
/ringlogix |
HTML | RingLogix API reference docs |
/voip-demo |
HTML | VoIPSimplicity auto-provisioning demo |
/call-flow |
HTML | Inbound call flow diagram |
/portal |
HTML | Customer portal dashboard |