Configure the instance domain from .env instead of compose.yml
compose.yml was tracked but had to be edited per deployment, so every
update collided with the local change ("your local changes would be
overwritten by merge"). The domain now comes from STOAT_DOMAIN via
compose interpolation, and host.docker.internal is mapped unconditionally
so a host-side proxy needs no edit either. Nothing in compose.yml has to
be touched any more.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
71b9b7fe17
commit
ea19a74c12
@@ -71,7 +71,8 @@ openssl rand -hex 32 # → JWT_SECRET
|
||||
Минимум, что нужно указать:
|
||||
|
||||
```dotenv
|
||||
STOAT_API_URL=https://stoat.example.com/api
|
||||
STOAT_API_URL=https://chat.example.com/api
|
||||
STOAT_DOMAIN=chat.example.com
|
||||
STOAT_BOT_TOKEN=<токен бота>
|
||||
PUBLIC_URL=https://music.example.com
|
||||
JWT_SECRET=<случайные 32 байта>
|
||||
@@ -80,18 +81,13 @@ JWT_SECRET=<случайные 32 байта>
|
||||
`STOAT_API_URL` указывается публичный (`https://домен/api`): бот ведёт себя как обычный клиент —
|
||||
ходит в API, gateway и LiveKit через тот же внешний прокси с валидным TLS, что и браузеры.
|
||||
|
||||
### 4. Указать домен инстанса в `compose.yml`
|
||||
### 4. Про `STOAT_DOMAIN`
|
||||
|
||||
Бот запускается **отдельным compose-проектом** и с внутренним Caddy инстанса никак не связан.
|
||||
В [compose.yml](compose.yml) поправьте одну строку — домен вашего Stoat:
|
||||
|
||||
```yaml
|
||||
extra_hosts:
|
||||
- "chat.example.com:host-gateway"
|
||||
```
|
||||
|
||||
Эта запись заставляет контейнер резолвить домен инстанса в сам хост, где внешний Caddy держит
|
||||
443 с валидным сертификатом. Так бот не зависит от NAT loopback на роутере.
|
||||
`STOAT_DOMAIN` из `.env` подставляется в `extra_hosts`, и контейнер резолвит домен инстанса
|
||||
в сам хост, где внешний Caddy держит 443 с валидным сертификатом — так бот не зависит от
|
||||
NAT loopback на роутере. **Сам [compose.yml](compose.yml) править не нужно**, иначе `git pull`
|
||||
будет конфликтовать с обновлениями.
|
||||
|
||||
### 5. Повесить панель на внешний Caddy
|
||||
|
||||
|
||||
Reference in New Issue
Block a user