openvibers/openvibe.live Commits

Live: the vhost carries Chat's calls include like production, and refuses /metrics in any case (#67)

OP OpenVibers committed 10 Oct 2026 · f5a0e0c32c · 1 file, +3 −1

nginx only, bringing the repo in line with production:

- Production's vhost includes Chat's calls locations for this site (`/opt/openvibe.chat/deploy/nginx/calls/openvibe.live-calls.locations.conf`, added on the host at the calls cutover). The repo's file lacked it, so installing the repo's vhost would have dropped calls. It is now in the repo as a `con[f]` glob, so it stays a no-op where Chat isn't installed, like the `*.locations.conf` include above it.
- `/metrics` is refused in any letter case (`location ~* ^/metrics(/|$)`), as on every other OpenVibe vhost since the 2026-10-10 sweep. Express routes `/Metrics` too.

Checked with `nginx -t` on the host. Apart from comments, the file now differs from production only by those two changes.

Changes

ddiff --git a/deploy/nginx/openvibe.live.conf b/deploy/nginx/openvibe.live.conf
iindex 7e33b2e5..ce6065ea 100644
---- a/deploy/nginx/openvibe.live.conf
++++ b/deploy/nginx/openvibe.live.conf
@@@ -74,7 +74,7 @@ server {
limit_conn addr_limit 256;
# Prometheus metrics are for local scrapers only; Node also 404s any proxied request to it.
-- location = /metrics { return 404; }
++ location ~* ^/metrics(/|$) { return 404; } # any letter case: Express routes /Metrics too
location = /api/auth/register {
limit_req zone=login_limit burst=5 nodelay;
@@@ -137,6 +137,8 @@ server {
# OpenVibe.Chat (Wave 6) serves /ws/chat, /api/chat/, /api/dm/, /api/tts/ and /api/sounds
# (its repo's deploy/nginx). A glob include is a no-op when Chat is not installed.
include /opt/openvibe.chat/deploy/nginx/*.locations.conf;
++ # Chat's calls locations for this site (the [f] glob keeps it a no-op without Chat, like the line above).
++ include /opt/openvibe.chat/deploy/nginx/calls/openvibe.live-calls.locations.con[f];
location /api/ {
limit_req zone=api_limit burst=40 nodelay;