Some checks failed
Auto-tag / Create date-tag (push) Waiting to run
CI / Backend (.NET 8) (push) Waiting to run
CI / Web (React + Vite) (push) Waiting to run
CI / POS (WPF, Windows) (push) Waiting to run
Docker API / Build + push API (push) Waiting to run
Docker API / Deploy API on stage (push) Blocked by required conditions
Docker Public / Build + push Public (test + latest) (push) Has been cancelled
Docker Web / Build + push Web (push) Has been cancelled
Docker Public / Deploy :test → test.food-market.kz (push) Has been cancelled
Docker Web / Deploy Web on stage (push) Has been cancelled
05.10.2026 общий postgres-инстанс с чужими боевыми базами (sklad, purchase, calcman, calcman_staging, makesales + мусорная старая food_market) вынесен из compose прода food-market в отдельный compose-проект shared-postgres (контейнер shared-postgres, порт 5434, том food-market-postgres-data external). Прод food-market поднимается в собственный контейнер food-market-prod-postgres (порт 5437, том food-market-prod-postgres-data). Простой при разделении — 12с, соседи живы. См. docs/shared-postgres-followup-progress.md. Этот коммит синхронизирует репозиторий, чтобы следующий деплой из main не воскресил старую раскладку: - deploy/docker-compose.yml: container_name/port/volume приведены к прод-файлу (food-market-prod-postgres, 127.0.0.1:5437, food-market-prod-postgres-data). - deploy/shared-postgres/ (новое): документационная копия соседнего compose'а, с явной пометкой «food-market им не управляет». - deploy/food-market-backup.sh / anonymize-prod.sh / db-schema-diff.sh: defaults FM_PG_CONTAINER / FM_PROD_CONT = food-market-prod-postgres. - docs/RUNBOOK.md: новый раздел «Postgres на prod-vm» с таблицей трёх инстансов и явным запретом трогать shared-postgres из наших скриптов. - docs/backup-restore.md: контейнер в таблице и примерах — новый. Guards (не в репе — живут в ~/deploy-stage.sh и ~/quality-watchdog.sh) расширены симметрично: стенду запрещены shared-postgres, food-market-prod- postgres[-data], 5434/5437; проду — food-market-postgres-data (чужие данные). Проверка: docker compose config/ps на prod-vm shared-postgres не упоминают, grep по репе — ни один скрипт не делает docker exec в shared-postgres.
51 lines
2.9 KiB
YAML
51 lines
2.9 KiB
YAML
# ──────────────────────────────────────────────────────────────────────────
|
||
# shared-postgres: ДОКУМЕНТАЦИОННАЯ копия стороннего compose'а на prod-vm.
|
||
# ──────────────────────────────────────────────────────────────────────────
|
||
#
|
||
# Этот файл **не используется** ни одним из скриптов репозитория. Он лежит в
|
||
# репе как справочник: именно так на prod-vm выглядит compose-проект
|
||
# `shared-postgres`, живущий в `~/shared-postgres/docker-compose.yml`.
|
||
#
|
||
# Что это такое. С 2026-10-05 общий postgres-инстанс (чужие боевые базы
|
||
# `sklad`, `purchase`, `calcman`, `calcman_staging`, `makesales`, плюс
|
||
# мусорная старая `food_market` — повреждена, не восстанавливается) вынесен
|
||
# из compose прода food-market в отдельный compose-проект. Раньше он жил в
|
||
# том же `~/food-market/deploy/docker-compose.yml` под project-name `deploy`,
|
||
# и любой `docker compose down` у food-market гасил чужие боевые базы.
|
||
#
|
||
# Проект называется `shared-postgres`, контейнер — `shared-postgres`, порт —
|
||
# `127.0.0.1:5434`, том `food-market-postgres-data` объявлен *external*
|
||
# (имя историческое — на нём лежат чужие продакшн-данные соседних систем,
|
||
# переименовывать нельзя).
|
||
#
|
||
# **Food-market НЕ управляет этим compose.** Любые наши скрипты (backup,
|
||
# anonymize, schema-diff, deploy, watchdog), включая `docker exec`, не должны
|
||
# ссылаться на `shared-postgres` / `food-market-postgres-data` / порт 5434 —
|
||
# за этим следят guards в ~/deploy-stage.sh и ~/quality-watchdog.sh.
|
||
#
|
||
# Нужен dump/бэкап чужой базы — делает её владелец у себя. См.
|
||
# docs/shared-postgres-followup-progress.md и docs/RUNBOOK.md.
|
||
|
||
name: shared-postgres
|
||
services:
|
||
db:
|
||
image: 192.168.1.193:5001/mirror/postgres:16-alpine
|
||
container_name: shared-postgres
|
||
restart: unless-stopped
|
||
env_file: .env
|
||
environment:
|
||
PGDATA: /var/lib/postgresql/data/pgdata
|
||
ports:
|
||
- "127.0.0.1:5434:5432"
|
||
volumes:
|
||
- pgdata:/var/lib/postgresql/data
|
||
healthcheck:
|
||
test: ["CMD-SHELL", "pg_isready -U postgres"]
|
||
interval: 10s
|
||
timeout: 5s
|
||
retries: 5
|
||
volumes:
|
||
pgdata:
|
||
external: true
|
||
name: food-market-postgres-data
|