|
|
||
|---|---|---|
| .. | ||
| ai.quinn.apricot.local.conf | ||
| README.md | ||
@companion nginx configuration
Installation
# Generate wildcard cert (one-time):
mkcert -install
mkcert -cert-file /etc/nginx/certs/local/_wildcard.quinn.apricot.local+1.pem \
-key-file /etc/nginx/certs/local/_wildcard.quinn.apricot.local+1-key.pem \
"*.quinn.apricot.local" quinn.apricot.local
# Add to /etc/hosts (if not already present):
echo "127.0.0.1 ai.quinn.apricot.local" | sudo tee -a /etc/hosts
# Symlink into nginx sites-enabled:
sudo ln -sf "$(pwd)/ai.quinn.apricot.local.conf" /etc/nginx/sites-enabled/ai.quinn.apricot.local.conf
# Remove old config if present:
sudo rm -f /etc/nginx/sites-enabled/companion.lilith.apricot.local.conf
# Verify config and reload:
sudo nginx -t && sudo systemctl reload nginx
Domain
| Domain | Upstream | Port |
|---|---|---|
ai.quinn.apricot.local |
companion-api (NestJS) + companion-web (Vite) | 3850 / 5850 |
Single domain mirrors production (ai.transquinnftw.com). API paths (/voice/, /chat, /session, /health, /api/) route to companion-api on :3850. Everything else routes to the Vite dev server on :5850.
SSL Certificates
Uses wildcard cert for *.quinn.apricot.local:
/etc/nginx/certs/local/_wildcard.quinn.apricot.local+1.pem
/etc/nginx/certs/local/_wildcard.quinn.apricot.local+1-key.pem
Voice WebSocket Notes
proxy_buffering offis mandatory for the/voice/location- PCM binary frames must not be buffered — any buffering causes audio glitches
proxy_read_timeout 3600ssupports 1-hour voice sessions- The
$connection_upgrademap must be in the nginxhttpcontext (nginx.conf)