====== Deployment Notes ====== This service is deployed on the folk.zone server as part of the homelab Docker Compose stack. **Container changes require full rebuild, not restart** When making changes to webmention views, CSS, or configuration, you must rebuild the container entirely. A simple restart will not pick up the changes because the files are baked into the Docker image during the build process. **Correct deployment sequence** 1. Sync local changes to server: ```bash rsync -avz -e "ssh -i ~/.ssh/id_ed25519" \ server/webmention/ \ user@server:~/homelab/server/webmention/ ``` 2. Rebuild the container on server: ```bash ssh -i ~/.ssh/id_ed25519 user@server \ "cd ~/homelab/server && docker compose up -d --build folkzone-webmention" ``` 3. Test from external network (mobile hotspot/VPN) due to hairpin NAT limitations **Important: hairpin NAT constraint** You cannot test folk.zone URLs from your home network. The router does not support hairpin NAT. Always switch to mobile data or VPN when testing production URLs. **Services** - folkzone-webmention: Sinatra app (port 9019) - folkzone-webmention-db: MariaDB 11 - folkzone-webmention-redis: Redis 7 **DNS** webmention.folk.zone → 104.205.127.217 (managed at Porkbun) **Caddy** Caddy terminates TLS and reverse-proxies to the webmention container. The Caddyfile block is in server/caddy/Caddyfile. ===== See Also ===== * [[indieweb:start|Return to indieweb]]