From ca682d4c522caccb03711f94357ebaa1a0ce99d6 Mon Sep 17 00:00:00 2001 From: aserrador Date: Mon, 6 Apr 2026 16:48:23 -0500 Subject: [PATCH] feat: Add live deploy --- compose.live.yaml | 107 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 compose.live.yaml diff --git a/compose.live.yaml b/compose.live.yaml new file mode 100644 index 0000000..e392a51 --- /dev/null +++ b/compose.live.yaml @@ -0,0 +1,107 @@ +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: