# Postgres для alatyr-service CRM (задача 42)
# Ставится на VPS 46.17.99.183 в /opt/alatyr-service/db/
# Отдельный инстанс — НЕ переиспользуем rag-postgres на ragserver
# (разные жизненные циклы, разная безопасность, разные бэкапы)

services:
  crm-postgres:
    image: postgres:16-alpine
    container_name: alatyr-crm-postgres
    restart: unless-stopped
    env_file: .env
    environment:
      - POSTGRES_INITDB_ARGS=--auth-host=scram-sha-256
      - TZ=Europe/Moscow
    volumes:
      - ./data:/var/lib/postgresql/data
      # Опционально — init-скрипты (create-db.sql выполнится при первом старте)
      - ./init:/docker-entrypoint-initdb.d:ro
    ports:
      # ТОЛЬКО localhost — alatyr-service подключается на 127.0.0.1
      - "127.0.0.1:5433:5432"
      # 5433 (не 5432) — на случай если позже поставим второй Postgres рядом
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
      interval: 10s
      timeout: 5s
      retries: 5
      start_period: 30s
    logging:
      driver: json-file
      options:
        max-size: "10m"
        max-file: "3"

  # Опционально — pgAdmin для дебага (не в prod, включать вручную)
  # crm-pgadmin:
  #   image: dpage/pgadmin4:latest
  #   restart: "no"
  #   environment:
  #     PGADMIN_DEFAULT_EMAIL: admin@alatyr-service.ru
  #     PGADMIN_DEFAULT_PASSWORD: <SECRET>
  #   ports:
  #     - "127.0.0.1:5050:80"
  #   depends_on: [crm-postgres]
