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