Files
admin/host-stacks/vds-kzntsv/sched-workers.compose.yml

97 lines
4.1 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# sched-workers — HTTP-воркеры пайплайнов клиентов @apilki (VDS, рядом с ядром sched).
# Ядро sched: стек 28 (sched.compose.yml). Воркеры — отдельный стек в той же сети proxy,
# sched ходит к ним по имени сервиса из sched.tasks.json.
# Моки: verdaccio.kzntsv.site (npm), git.kzntsv.site (Gitea = мок-GitHub, орга apilki),
# ntfy (VDS-сервис в proxy), unisender-mock (локальный мок писем в этом стеке).
# Deploy: Portainer-managed (см. portainer-stack-management-vds). Env через Portainer (не env_file).
# Source-of-truth: host-stacks/vds-kzntsv/sched-workers.compose.yml.
services:
ym-client-builder:
image: registry.kzntsv.site/ym-client-builder:0.1.2
container_name: ym-client-builder
restart: unless-stopped
mem_limit: 512m
networks:
- proxy
environment:
PORT: "8080"
SCHED_API_KEY: ${SCHED_API_KEY}
UNISENDER_API_KEY: mock-key
UNISENDER_FROM: noreply@snolla.com
NPM_TOKEN: ${NPM_TOKEN}
GITHUB_TOKEN: ${GITHUB_TOKEN}
# мок-publish: verdaccio (npm) + Gitea (репо/релизы) — без выхода в npmjs/github.com
PUBLISH_REGISTRY: ${PUBLISH_REGISTRY}
PUBLISH_REMOTE_BASE: ${PUBLISH_REMOTE_BASE}
PUBLISH_GH_API_BASE: ${PUBLISH_GH_API_BASE}
volumes:
- /opt/stacks/sched-workers/data-ym:/app/data
ozon-seller-builder:
image: registry.kzntsv.site/ozon-seller-builder:0.1.0
container_name: ozon-seller-builder
restart: unless-stopped
# tsc-сборка клиента ~700MB пик (openapi-generator + компилятор) — 512m OOM
mem_limit: 1g
networks:
- proxy
environment:
WORKER_PORT: "8080"
SCHED_API_KEY: ${SCHED_API_KEY}
# внутренний крон не нужен — расписанием рулит sched. 31 февраля не наступает никогда.
CRON_SCHEDULE: "0 0 29 2 *"
# персистентность state/output на хосте (bind-mount /app/data)
STATE_FILE: /app/data/state.json
OUTPUT_DIR: /app/data/output/typescript
# безопасный дефолт: DRY_RUN=1. Реальный мок-publish — только явным data.dryRun=false в таске.
DRY_RUN: "1"
BROWSER_CDP_URL: http://browser:9222
NTFY_URL: http://ntfy
NTFY_TOPIC: ozon-seller-pipeline
UNISENDER_API_KEY: mock-key
UNISENDER_SENDER_EMAIL: noreply@snolla.com
UNISENDER_SENDER_NAME: sched-pipeline
UNISENDER_ENDPOINT: http://unisender-mock:8080/ru/transactional/api/v1/email/send.json
NOTIFY_EMAIL_TO: ${NOTIFY_EMAIL_TO}
GH_TOKEN: ${GITHUB_TOKEN}
NPM_TOKEN: ${NPM_TOKEN}
# мок-publish: verdaccio (npm) + Gitea (репо/релизы) — без выхода в npmjs/github.com
PUBLISH_REGISTRY: ${PUBLISH_REGISTRY}
PUBLISH_REMOTE_BASE: ${PUBLISH_REMOTE_BASE}
PUBLISH_GH_API_BASE: ${PUBLISH_GH_API_BASE}
volumes:
- /opt/stacks/sched-workers/data-ozon:/app/data
# снапшот спеки из репо (fetch антиботом не ходим — dry-run от ручного снапшота)
- /opt/stacks/sched-workers/data-ozon-openapi:/app/openapi
depends_on:
- browser
# headless Chrome + CDP :9222 (для антибот-fetch стадий ozon), socat наружу 0.0.0.0:9222
browser:
image: registry.kzntsv.site/browser-cdp:0.1.0
container_name: browser-cdp
shm_size: "1gb"
restart: unless-stopped
mem_limit: 512m
networks:
- proxy
# мок Unisender Go: письма в /opt/stacks/sched-workers/data-mail, реальных отправок нет
unisender-mock:
image: registry.kzntsv.site/unisender-mock:0.1.0
container_name: unisender-mock
restart: unless-stopped
mem_limit: 128m
environment:
PORT: "8080"
MAIL_DIR: /mail
volumes:
- /opt/stacks/sched-workers/data-mail:/mail
networks:
- proxy
networks:
proxy:
external: true