Files
admin/host-stacks/vds-kzntsv/mappa.compose.yml

68 lines
3.6 KiB
YAML
Raw 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.
# 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.58.1
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}
# клиентский стек версий (task:2075/2084): latest mappa-setup / min-граница (клиент ниже → 426)
# env 10/10; согласовано с mappa: latest=0.2.0, min=0.1.0 (inbox:3372/3380)
MAPPA_CLIENT_LATEST: ${MAPPA_CLIENT_LATEST}
MAPPA_CLIENT_MIN: ${MAPPA_CLIENT_MIN}
# S3-бэкенд blob attachment (task:2123, wiki:3435/3309): MinIO mappa-attachments
# декларация обязательна — Portainer env-массив транслирует только её (gotcha v0.55.1)
MAPPA_ATTACHMENT_BACKEND: ${MAPPA_ATTACHMENT_BACKEND}
MAPPA_S3_ENDPOINT: ${MAPPA_S3_ENDPOINT}
MAPPA_S3_BUCKET: ${MAPPA_S3_BUCKET}
MAPPA_S3_REGION: ${MAPPA_S3_REGION}
MAPPA_S3_ACCESS_KEY: ${MAPPA_S3_ACCESS_KEY}
MAPPA_S3_SECRET_KEY: ${MAPPA_S3_SECRET_KEY}
# телеметрия → S3 (task:2124): агрегаты jsonl в mappa-telemetry (вместо type=metric)
MAPPA_TELEMETRY_BACKEND: ${MAPPA_TELEMETRY_BACKEND}
MAPPA_TELEMETRY_S3_BUCKET: ${MAPPA_TELEMETRY_S3_BUCKET}
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
# code-access local-слой (task:2057): bare-репо gitea (git.kzntsv.site, тот же VDS),
# ro-маунт на дефолтный MAPPA_GIT_GITEA_ROOT=/data/gitea/repositories (git --git-dir, 0 клонов)
- /opt/stacks/gitea/data/git/repositories:/data/gitea/repositories:ro
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