Commit Graph
21 Commits
Author SHA1 Message Date
vasyanskandClaude Opus 5.5 4fccfb9089 feat: mark proxy-originated errors and pin container DNS
Build Admin / Build image (push) Successful in 28s
- handle_errors sets X-Proxy-Error (dial|upstream) and X-Proxy-Error-Detail
  so clients with several proxies can fail over when the upstream was
  never reached, instead of treating the proxy's 502 as the upstream's
- explicit dns in compose: the container no longer inherits a host
  resolver that may disappear (systemd-resolved was switched off on the
  VM and every lookup failed until a restart)
- strip X-Proxy-Token from Caddy logs (it was logged in clear text)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 19:05:04 +07:00
vasyanskandClaude Sonnet 5.5 e84b79dda0 fix: valid key header bypasses both IP allowlist and PROXY_SECRET check
Build Admin / Build image (push) Successful in 11s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 14:33:32 +07:00
vasyansk c144d0967f feat: add header key auth as alternative to IP allowlist
Build Admin / Build image (push) Successful in 43s
2026-10-24 14:20:52 +07:00
vasyanskandClaude Opus 5 1a4ad47c77 docs: explain the 403 invalid_token case
Build Admin / Build image (push) Successful in 7s
Clients relied on /openrouter/ having no token check; v0.2.0 applies the
guard to every prefix, so the missing header now shows up everywhere.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-20 13:46:31 +07:00
vasyanskandClaude Opus 5 e90d67366a fix: require Docker Compose v2 in scripts and docs
Build Admin / Build image (push) Successful in 8s
compose 1.29.2 aborts with KeyError: 'ContainerConfig' against Docker 28,
which broke the deploy on the prod VM.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-20 13:43:48 +07:00
vasyanskandClaude Opus 5 d71001a2bf refactor: switch nginx to Caddy with automatic Let's Encrypt
Build Admin / Build image (push) Successful in 13s
Nginx required manually managed certs on port 8443; TLS was effectively
unused. Caddy issues and renews certificates for DOMAIN on its own.

- Caddyfile replaces nginx.conf + locations.conf; upstreams are one
  `import api <prefix> <host> <path-prefix>` line each
- routes wrapped in `route {}` so guards run before handle_path
- access control (IP allowlist, X-Proxy-Token) generated from env into
  matchers.caddy / guard.caddy by the entrypoint, as before
- listeners: 443 (+udp, HTTP/3) and 80 for ACME on DOMAIN, plus the
  unchanged plain-HTTP 8082 -> 8080 path for existing clients
- caddy_data volume added: losing it re-issues certs and burns LE limits
- scripts/migrate-host-nginx.sh backs up and retires the host nginx
- deploy.sh points at the real prod layout (/srv/elevenlabs, compose v1)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-20 13:35:49 +07:00
vasyansk c31f6d8d90 add deepseek
Build Admin / Build image (push) Successful in 14s
2026-09-20 13:11:10 +07:00
vasyansk ad51829aed Update locations.conf
Build Admin / Build image (push) Successful in 31s
2026-07-09 14:59:24 +07:00
vasyansk 559c30d4be Update locations.conf
Build Admin / Build image (push) Successful in 16s
2026-07-09 14:47:33 +07:00
vasyansk bf744c19b6 Update locations.conf
Build Admin / Build image (push) Successful in 17s
2026-07-09 14:46:54 +07:00
vasyansk 145ee568cf Update locations.conf
Build Admin / Build image (push) Successful in 17s
2026-07-09 14:46:10 +07:00
vasyansk b2c7e7ba80 add host
Build Admin / Build image (push) Successful in 37s
2026-07-09 14:41:17 +07:00
vasyansk c4aead7f8c Update nginx.conf
Build Admin / Build image (push) Successful in 17s
2026-03-21 11:13:33 +07:00
vasyansk 2e6e63f173 Update nginx.conf
Build Admin / Build image (push) Successful in 16s
2026-03-21 11:06:08 +07:00
vasyansk 0544ac9cbe Update nginx.conf
Build Admin / Build image (push) Successful in 17s
2026-03-21 11:01:39 +07:00
vasyansk bb3d2c27dd Update build.yaml
Build Admin / Build image (push) Successful in 21s
2026-03-21 10:55:55 +07:00
vasyansk 4bd2a74d24 Update build.yaml
Build Admin / Build image (push) Failing after 8s
2026-03-21 10:53:26 +07:00
vasyansk e942c6c2b5 Update build.yaml
Build Admin / Build image (push) Failing after 8s
2026-03-21 10:52:42 +07:00
vasyansk 3be9e37ef2 init
Build Admin / Build image (push) Failing after 9s
2026-03-21 10:47:54 +07:00
vasyansk db610976a0 init 2026-03-21 10:47:11 +07:00
vasyansk 6dc514d519 init 2026-03-21 10:45:42 +07:00