50 lines
2.3 KiB
YAML
50 lines
2.3 KiB
YAML
# mappa — единый meta-сервис цеха (решения 1, 6, 17 спеки)
|
||
# Прод: VDS рядом с общей БД (postgres:16, отдельная база mappa, свой role — решение 1).
|
||
# HTTP-ядро + MCP-адаптер одним контейнером (dist). Endpoint: https://mappa.vds.kzntsv.site
|
||
# Deploy: Portainer-managed (см. portainer-stack-management-vds). Env через Portainer (не env_file).
|
||
|
||
services:
|
||
mappa:
|
||
image: registry.kzntsv.site/mappa:v0.46.0
|
||
container_name: mappa
|
||
restart: unless-stopped
|
||
mem_limit: 512m
|
||
networks:
|
||
- shared-dbs
|
||
- proxy
|
||
environment:
|
||
DATABASE_URL: postgres://mappa:${MAPPA_DB_PASS}@postgres:5432/mappa
|
||
MAPPA_GITEA_TOKEN: ${MAPPA_GITEA_TOKEN}
|
||
MAPPA_API_TOKEN: ${MAPPA_API_TOKEN}
|
||
MAPPA_EXPORT_ENABLED: ${MAPPA_EXPORT_ENABLED}
|
||
MAPPA_EXPORT_DIR: ${MAPPA_EXPORT_DIR}
|
||
# embedded sched (task:1651): инфра-джобы vitya (telemetry_aggregate/anomalies); git_index_sync — после task:1691
|
||
MAPPA_SCHED_RULES: ${MAPPA_SCHED_RULES}
|
||
MAPPA_TELEMETRY_ANOMALY_RULES: ${MAPPA_TELEMETRY_ANOMALY_RULES}
|
||
# per-repo таймаут git_index_sync (task:1288/1754): известные таймауты MoreThenCms/O_C-Phazerville
|
||
MAPPA_GIT_INDEX_REPO_TIMEOUT_MS: ${MAPPA_GIT_INDEX_REPO_TIMEOUT_MS}
|
||
volumes:
|
||
# git-бэкап (task:1430): каталог экспорта = рабочая копия vds-mappa-backup на хосте
|
||
- /root/vds-mappa-backup:/backup
|
||
# MCP-сессии персистентные (task:1680/issue:15, v0.40.1): стор сессий
|
||
# (/app/data/mcp-sessions.json) переживает редеплой контейнера
|
||
- /root/vds-mappa-data:/app/data
|
||
healthcheck:
|
||
test: ["CMD", "wget", "-q", "-O", "/dev/null", "http://127.0.0.1:8731/health"]
|
||
interval: 15s
|
||
timeout: 5s
|
||
retries: 3
|
||
start_period: 10s
|
||
labels:
|
||
traefik.enable: "true"
|
||
traefik.http.routers.mappa.entrypoints: websecure
|
||
traefik.http.routers.mappa.rule: Host(`mappa.vds.kzntsv.site`)
|
||
traefik.http.routers.mappa.tls.certresolver: letsEncrypt
|
||
traefik.http.services.mappa.loadbalancer.server.port: "8731"
|
||
|
||
networks:
|
||
shared-dbs:
|
||
external: true
|
||
proxy:
|
||
external: true
|