Files
vesti/services/publisher/docker-compose.yml
T

26 lines
1.3 KiB
YAML

services:
publisher:
build: .
container_name: vesti-publisher
restart: unless-stopped
ports:
- "127.0.0.1:8410:8410" # только локально (внутри bigbox)
env_file:
- ../../.env # VESTI_BOT_TOKEN, TG_PROXY, VESTI_BOT_CHANNELS (корень /opt/vesti)
environment:
- PUBLISHER_PORT=8410
# в контейнере 127.0.0.1 — это сам контейнер; туннель SOCKS5 живёт на хосте
- TG_PROXY=socks5://host.docker.internal:1080
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
# медиа для карточек: веб шлёт media/<file> (media_path из БД).
# Физически файлы лежат в /opt/vesti/media/media/ (вложенный каталог, см. download_media в краулере).
# Монтируем именно внутренний каталог, чтобы Path('media/<file>') в контейнере (от WORKDIR /srv/publisher) попал в файл.
- ../../media/media:/srv/publisher/media:ro
healthcheck:
test: ["CMD", "python", "-c", "import urllib.request;urllib.request.urlopen('http://127.0.0.1:8410/healthz',timeout=4)"]
interval: 30s
timeout: 5s
retries: 3
start_period: 10s