folk.zone Wiki

a public knowledge base

Site Tools


indieweb:webmentions:deployment_notes

This is an old revision of the document!


Deployment Notes

This service is deployed on nitro (192.168.1.67) 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_brennanbrown_ca" \
   server/webmention/ \
   brennan@192.168.1.67:/home/brennan/homelab/server/webmention/
 ```

2. Rebuild the container on server:

 ```bash
 ssh -i ~/.ssh/id_ed25519_brennanbrown_ca brennan@192.168.1.67 \
   "cd /home/brennan/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/webmentions/deployment_notes.1791373643.txt.gz · Last modified: by 127.0.0.1