Current Nginx Shape
Relevant relik server block:
server {
listen 80;
server_name relik.africa www.relik.africa;
root /mnt/relik-site;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Relevant slates / CryptPad listener:
server {
listen 127.0.0.1:80;
server_name slates.relik.africa slates-sandbox.relik.africa;
...
location / {
proxy_pass http://127.0.0.1:3000;
}
}
Historical routing caveat, fixed on 2026-05-20:
- Cloudflare tunnel routes
relik.africa/www.relik.africatohttp://localhost:80. - Before the fix,
localhostresolved into the more-specific127.0.0.1:80listener, whose default behavior was the slates/CryptPad server block. - Fix applied:
/etc/nginx/sites-available/reliknow includeslisten 127.0.0.1:80;in addition tolisten 80;. - Backup created before the fix:
/etc/nginx/sites-available/relik.bak-20260520T210526Z. - Verified after the fix:
curl -H 'Host: relik.africa' http://127.0.0.1returned the static/mnt/relik-sitepage.curl -H 'Host: relik.africa' http://100.121.185.70returned the static/mnt/relik-sitepage.curl -I https://relik.africaandcurl -I https://www.relik.africareturned static RELiK HTML through Cloudflare.curl -H 'Host: slates.relik.africa' http://127.0.0.1still returned CryptPad/slates headers.
Deployment implication:
- The current static RELiK site routing is no longer blocked.
- A future TSUKIMI live deploy still needs a deliberate deployment
step: choose whether to replace
/mnt/relik-site, switch Nginx root to a new web root, or serve a dedicated app port and adjust Cloudflare tunnel ingress. - Test future changes with:
curl -H 'Host: relik.africa' http://127.0.0.1curl -H 'Host: relik.africa' http://100.121.185.70curl -I https://relik.africa