Files
claude e3c7bf2e74
build / build (push) Successful in 17s
jpaul.io hub page
Single self-contained index.html (avatar + favicon inlined; only Google
Fonts external; zero JS; dark-mode; responsive) served by a baked
nginx:alpine image behind Traefik, built and published by CI on push
to main and rolled out by Watchtower.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LbhPvfSERrnuY5jdhAdB7v
2026-07-02 21:11:38 -04:00

24 lines
777 B
Nginx Configuration File

server {
listen 80;
server_name _;
root /usr/share/nginx/html;
index index.html;
# Compress the (mostly text) payload. The inlined base64 avatar doesn't
# shrink much, but the HTML/SVG/CSS around it does.
gzip on;
gzip_comp_level 5;
gzip_min_length 256;
gzip_types text/html text/css application/javascript image/svg+xml application/json application/xml;
# It's a two-file site. Revalidate so copy edits (git pull, no restart)
# go live on the next refresh instead of sticking in a cache.
add_header Cache-Control "no-cache" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
location / {
try_files $uri $uri/ =404;
}
}