Landing Page Deployment
Overview
The landing page lives at apps/landing/ and is a single static HTML file served by an nginx:1.27-alpine container. There is no build step — nginx serves index.html directly from a bind mount.
Files
| File | Purpose |
|---|---|
apps/landing/index.html | The landing page (plain HTML + inline CSS) |
apps/landing/nginx.conf | nginx virtual host config |
apps/landing/docker-compose.yml | Service definition with Traefik labels |
scripts/deploy-landing.sh | Deploy script (also starts Traefik) |
Deploy
chmod +x scripts/deploy-landing.sh./scripts/deploy-landing.shThe script:
- Creates the
webDocker network if it does not exist - Starts Traefik (
infrastructure/traefik/) - Starts the landing container (
apps/landing/) - Prints running containers
Updating Content
Edit apps/landing/index.html directly, then restart the container:
cd apps/landingdocker compose up -dnginx picks up the updated file immediately (bind mount). No rebuild needed.
Traefik Labels
The landing page handles both apex and www:
- "traefik.http.routers.wb-landing.rule=Host(`weekendbuilder.io`) || Host(`www.weekendbuilder.io`)"All other apps use a single subdomain rule.