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:
Leonid Pershin
2026-09-09 00:26:08 +03:00
co-authored by Claude Opus 5
parent 71b9b7fe17
commit ea19a74c12
3 changed files with 34 additions and 32 deletions
+22 -21
View File
@@ -1,21 +1,22 @@
name: stoat-mbot
services:
mbot:
build: .
restart: always
env_file: .env
ports:
# Наружу не торчит: домен вешается на внешний Caddy хоста.
- "127.0.0.1:3005:3005"
extra_hosts:
# Домен Stoat резолвится в хост, где внешний Caddy держит валидный TLS.
# Так бот ходит в API, gateway и LiveKit ровно как обычный клиент,
# без зависимости от NAT loopback на роутере.
# Замените на свой домен:
- "chat.example.com:host-gateway"
# Раскомментируйте, если YTDLP_PROXY указывает на прокси, поднятый на хосте:
# - "host.docker.internal:host-gateway"
volumes:
# cookies.txt для yt-dlp и/или локальная медиатека
- ./data:/data
name: stoat-mbot
# Этот файл править не нужно: всё настраивается в .env, который docker compose
# читает и для подстановки переменных, и как env_file сервиса.
services:
mbot:
build: .
restart: always
env_file: .env
ports:
# Наружу не торчит: домен вешается на внешний Caddy хоста.
- "127.0.0.1:3005:3005"
extra_hosts:
# Домен Stoat (STOAT_DOMAIN в .env) резолвится в сам хост, где внешний
# Caddy держит валидный TLS. Так бот ходит в API, gateway и LiveKit ровно
# как обычный клиент, без зависимости от NAT loopback на роутере.
- "${STOAT_DOMAIN:-stoat.invalid}:host-gateway"
# Для YTDLP_PROXY, указывающего на прокси, поднятый на хосте.
- "host.docker.internal:host-gateway"
volumes:
# cookies.txt для yt-dlp и/или локальная медиатека
- ./data:/data