Files
md2vk/docker-compose.yml

33 lines
1.2 KiB
YAML

services:
md2vk:
build: .
# Внутренний порт в контейнере — 8420; наружу слушает 127.0.0.1:8420
# (8000 на bigbox занят docker-search-api). Caddy на vps02 → 10.8.0.2:8420.
ports:
# Слушаем на WG-интерфейсе bigbox (10.8.0.2), т.к. Caddy на vps02 идёт по WireGuard.
# 127.0.0.1 не подходит — vps02 не видит loopback bigbox. Наружу (публичный IP) не слушаем.
- "10.8.0.2:8420:8420"
volumes:
- ./data:/data
- ./logs:/logs
secrets:
- token_encryption_key
environment:
- TOKEN_ENCRYPTION_KEY_FILE=/run/secrets/token_encryption_key
- DATABASE_URL=sqlite+aiosqlite:////data/md2vk.db
- AUDIT_LOG_DIR=/logs
restart: unless-stopped
read_only: true
tmpfs:
- /tmp
healthcheck:
# curl в python:3.12-slim отсутствует — используем python
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8420/api/v1/health', timeout=5)"]
interval: 30s
timeout: 5s
retries: 3
start_period: 15s
secrets:
token_encryption_key:
file: ./secrets/token_encryption_key