Phase 4/5: host demos via Apache container behind Caddy
deploy/smb-demos: compose + runbook for the static demo host (httpd on the proxy network, routed by Caddy at demos.mivanchenko.de). Pending a DNS A record before Caddy can issue TLS. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,14 @@
|
|||||||
|
# smb-demos — public demo hosting
|
||||||
|
|
||||||
|
Apache container on the homelab host serving the two tier demos + chooser.
|
||||||
|
|
||||||
|
- **Host path:** `/home/mivanchenko/smb-demos/` (compose) + `site/` (= `templates/landing/`)
|
||||||
|
- **Network:** external `proxy` (shared with Caddy); Caddy reaches it as `smb-demos:80`
|
||||||
|
- **Caddyfile block:** `demos.mivanchenko.de { reverse_proxy smb-demos:80\n encode zstd gzip }`
|
||||||
|
- **DNS:** needs an A record `demos.mivanchenko.de -> 188.193.49.3` (no wildcard)
|
||||||
|
- **Reload Caddy after Caddyfile edit:** `docker exec caddy caddy reload --config /etc/caddy/Caddyfile`
|
||||||
|
|
||||||
|
Update the live site after editing `templates/landing/`:
|
||||||
|
`scp -r templates/landing/. n8n.mivanchenko.de:/home/mivanchenko/smb-demos/site/`
|
||||||
|
|
||||||
|
Forms POST to `https://n8n.mivanchenko.de/webhook/lead-intake` (CORS allowedOrigins=*).
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
# Static demo landing pages, served by Apache on the homelab host.
|
||||||
|
# Lives at /home/mivanchenko/smb-demos on the server; site/ is templates/landing/.
|
||||||
|
# Routed by Caddy: demos.mivanchenko.de { reverse_proxy smb-demos:80 }
|
||||||
|
# Requires a DNS A record demos.mivanchenko.de -> 188.193.49.3 (no wildcard DNS).
|
||||||
|
services:
|
||||||
|
smb-demos:
|
||||||
|
image: httpd:2.4-alpine
|
||||||
|
container_name: smb-demos
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- ./site:/usr/local/apache2/htdocs:ro
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
||||||
Reference in New Issue
Block a user