x-common-env: &common-env POSTGRES_DB: ${POSTGRES_DB:-database} DB_NAME: ${POSTGRES_DB:-database} DB_HOSTNAME: ${DB_HOSTNAME:-db} POSTGRES_USER: ${POSTGRES_USER:-postgres} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-SUp3r-pass*DB} TRYTOND_PORT: "${TRYTOND_PORT:-18020}:8000" TRYTOND_VERSION: "${TRYTOND_VERSION:-7.6}" PUDB_PORT: "${PUDB_PORT:-8020}:8020" MCP_SERVER_HOST: ${MCP_SERVER_HOST:-mcp} MCP_SERVER_PORT: ${MCP_SERVER_PORT:-3001} services: db: image: postgres volumes: - data:/var/lib/postgresql ports: - "5432:5432" environment: <<: *common-env healthcheck: test: [ "CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-postgres} -d ${POSTGRES_DB:-database}", ] interval: 5s timeout: 5s retries: 5 start_period: 10s live: build: context: ./erp dockerfile: Dockerfile_Live args: TRYTOND_VERSION: ${TRYTOND_VERSION:-7.6} volumes: - ./erp:/app - ./.dev/pudb.cfg:/root/.config/pudb/pudb.cfg ports: - "${TRYTOND_PORT:-18020}:8000" - "${PUDB_PORT:-8020}:8020" working_dir: /app depends_on: - db command: bash .dev/run.sh healthcheck: test: curl --fail localhost:8000 || exit 1 interval: 30s retries: 5 start_period: 30s timeout: 20s environment: <<: *common-env TRYTOND_VERSION: "${TRYTOND_VERSION:-7.6}" TRYTOND_DATABASE_URI: postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-SUp3r-pass*DB}@${DB_HOSTNAME-db}:5432/ SRC: /app mcp: build: context: ./mcp dockerfile: Dockerfile ports: - "3001:3001" depends_on: live: condition: service_healthy environment: <<: *common-env TRYTON_HOSTNAME: ${TRYTON_HOSTNAME:-tryton} TRYTON_DATABASE: ${TRYTON_DATABASE:-database} TRYTON_USERNAME: ${TRYTON_USERNAME:-admin} TRYTON_PASSWORD: ${TRYTON_PASSWORD:-S0p0rt3f1n4l*} TRYTON_PORT: ${TRYTON_PORT:-8000} FASTMCP_HOST: 0.0.0.0 FASTMCP_TRANSPORT: http FASTMCP_PORT: 3001 bot: build: context: ./bot dockerfile: Dockerfile ports: - "8010:8010" working_dir: /app volumes: - ./bot:/app/ depends_on: db: condition: service_healthy environment: <<: *common-env DEEPSEEK_API_KEY: ${DEEPSEEK_API_KEY:-"sk-...."} ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-"sk-ant...."} LLM_MODEL: ${LLM_MODEL:-deepseek} healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:8010/health || exit 1"] interval: 30s timeout: 10s retries: 3 start_period: 40s volumes: erp: bot: data: