Files

107 lines
3.3 KiB
YAML
Raw Permalink 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.
# LibreDesk 测试服实例(/data/dev/wangliang/libredesk,47.76.223.252 ARM64)
# 入口:宿主 nginx https://wangliang-crm.dev.gaia888.com -> 127.0.0.1:9000
# 与仓库 docker-compose.yml(本机版)差异:
# - 无 tls 容器(宿主 nginx 提供 HTTPS/WSS)
# - app 直接绑宿主 9000,db/redis 端口沿用旧 crm-new 约定(5440/6390)
# - bridge-tools 接入 spug-net,直连 wangliang-dev:9503/9505/9506/9509
# - 镜像多架构,ARM64 自动取 arm64 variant
services:
# Libredesk app
app:
image: ${LIBREDESK_IMAGE:-libredesk/libredesk:v2.9.1}
container_name: libredesk_app
restart: unless-stopped
ports:
- "9000:9000"
environment:
# 首次启动时设置 System 用户密码(已有数据库时为幂等空操作)
LIBREDESK_SYSTEM_USER_PASSWORD: ${LIBREDESK_SYSTEM_USER_PASSWORD:-}
healthcheck:
test: ["CMD-SHELL", "wget -q -O /dev/null http://127.0.0.1:9000/health || exit 1"]
interval: 30s
timeout: 5s
retries: 3
start_period: 30s
networks:
- libredesk
depends_on:
- db
- redis
volumes:
- ./uploads:/libredesk/uploads:rw
- ./config.toml:/libredesk/config.toml:ro
command: [sh, -c, "./libredesk --install --idempotent-install --yes --config /libredesk/config.toml && ./libredesk --upgrade --yes --config /libredesk/config.toml && ./libredesk --config /libredesk/config.toml"]
# 业务工具服务:4 个 AI 工具(商品/订单/库存/客户资料)
bridge-tools:
build: ./bridge-tools
container_name: libredesk_bridge_tools
restart: unless-stopped
environment:
TOOLS_PORT: 4100
TOOLS_PUBLIC_BASE_URL: http://bridge-tools:4100
TOOLS_SHARED_KEY: ${BRIDGE_TOOLS_KEY}
TOOLS_DEV_BYPASS: "false"
RECOMMEND_URL: ${RPC_RECOMMEND_URL}
ORDER_API_URL: ${RPC_ORDER_URL}
INVENTORY_API_URL: ${RPC_INVENTORY_URL}
MEMBER_RPC_URL: ${RPC_MEMBER_URL}
RPC_TIMEOUT_MS: 8000
PRODUCT_TIMEOUT_MS: 30000
SITE_SEARCH_URL: https://www.yehwang.com/search.html?q=
DEFAULT_TENANT_ID: 2
DEFAULT_LANGUAGE_ID: 1
extra_hosts:
- "host.docker.internal:host-gateway"
ports:
# 仅本机调试用;LibreDesk 通过容器名 bridge-tools:4100 访问
- "127.0.0.1:4100:4100"
depends_on:
- app
networks:
- libredesk
- spug-net
# PostgreSQL database
db:
image: ${POSTGRES_IMAGE:-pgvector/pgvector:pg18}
container_name: libredesk_db
restart: unless-stopped
networks:
- libredesk
ports:
- "127.0.0.1:5440:5432"
environment:
POSTGRES_USER: ${POSTGRES_USER:-libredesk}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-libredesk}
POSTGRES_DB: ${POSTGRES_DB:-libredesk}
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-libredesk} -d ${POSTGRES_DB:-libredesk}"]
interval: 10s
timeout: 5s
retries: 6
volumes:
# PG18 官方镜像要求挂载 /var/lib/postgresql(数据在子目录)
- postgres-data:/var/lib/postgresql
# Redis
redis:
image: redis:7-alpine
container_name: libredesk_redis
restart: unless-stopped
networks:
- libredesk
ports:
- "127.0.0.1:6390:6379"
volumes:
- redis-data:/data
networks:
libredesk:
spug-net:
external: true
volumes:
postgres-data:
redis-data: