Kenji M 4bd31b0728 Fix contact form: use host networking to reach Proton Bridge SMTP
Both containers now run in network_mode: host so the API can connect
directly to Proton Bridge on 127.0.0.1:1025. The pfSense search domain
(home.arpa) was leaking into Docker DNS and causing NXDOMAIN failures
for inter-container hostnames. Host networking bypasses this entirely.

- docker-compose: both services use network_mode: host
- nginx: listen on 8080 (was 80), proxy /api/ to 127.0.0.1:3001
- server.js: allow self-signed TLS cert from Proton Bridge

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 16:12:14 +00:00
2026-06-19 15:02:49 +00:00

www.kenjim.com

Static website served via nginx Docker container on zet.home.arpa, proxied through nginx SSL termination at https://www.kenjim.com.

Development Workflow

Edit on Mac → push to Gitea → pull on zet → site updates live.

Mac                          Gitea (git.kenjim.com)        zet.home.arpa
 │  git push                       │                            │
 ├─────────────────────────────────►│                            │
 │                                  │   git pull                 │
 │                                  ├───────────────────────────►│
 │                                  │                            │ docker compose up -d

Structure

www.kenjim.com/
├── docker-compose.yml   # runs nginx:alpine on host port 8080
└── html/                # web root — edit files here
    └── index.html

All files under html/ are served directly. No build step required for static content.

Running on zet

cd ~/workspace/src/personal/www.kenjim.com

docker compose up -d      # start
docker compose down       # stop
docker compose logs -f    # watch logs

Deploying Changes

On zet after pushing from Mac:

cd ~/workspace/src/personal/www.kenjim.com
git pull
# nginx:alpine picks up file changes immediately via volume mount — no restart needed

If docker-compose.yml itself changes, recreate the container:

docker compose up -d

How It Connects to nginx

The container listens on host port 8080. The nginx reverse proxy on zet routes https://www.kenjim.comhttp://127.0.0.1:8080.

See ~/workspace/src/personal/appa-net/zet.home.arpa/nginx/kenjim.conf for the nginx config.

Mac Setup (first time)

# Clone the repo on your Mac
git clone http://kenjim@git.kenjim.com/kenjim/www.kenjim.com.git
cd www.kenjim.com

# Edit html/ files, then:
git add .
git commit -m "your message"
git push
Description
No description provided
Readme 52 KiB
Languages
JavaScript 62.2%
CSS 33.5%
HTML 2.4%
Dockerfile 1.9%