Files
crmdesk/deploy/docker/compose/compose-postgresql.yaml
T
2026-09-19 16:35:35 +08:00

44 lines
2.0 KiB
YAML
Raw 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.
# PostgreSQL 数据库(四选一:mysql / postgresql / oracle / kingbase
# 启动方式:./start.sh postgresql ... 或 docker compose --env-file .env -f compose/compose-postgresql.yaml up -d(在 deploy/docker 目录执行)
# 应用侧 DSN 由 start.sh 按所选数据库自动注入(或通过 .env 中 SPRING_DATASOURCE_* 显式配置)
services:
bytedesk-postgresql:
# 默认 PostgreSQL 镜像(无全文检索/向量检索/分析扩展)
# image: postgres:17
# 改用 ParadeDB 镜像:PostgreSQL 的开源增强发行版,内置 pg_search
# Tantivy 驱动的 BM25 全文检索 + 向量检索 + 混合检索)与列式存储/聚合
# 分析能力,单库即含搜索引擎,无需再部署 Elasticsearch。
# 兼容原生 PostgreSQL 协议与数据,适合知识库、工单、消息等全文检索场景。
# 固定到当前最新稳定版 0.25.9(默认基于 PostgreSQL 18;如需 PG17 可改用 latest-pg17)。
# 参考:https://github.com/paradedb/paradedb
# https://hub.docker.com/r/paradedb/paradedb/tags?name=0.25.9
# 注意:PG18+ 镜像要求数据卷挂载在 /var/lib/postgresql(而非旧的 .../data),
# 否则会因检测到旧格式数据而拒绝启动,详见:
# https://github.com/docker-library/postgres/pull/1259
image: paradedb/paradedb:0.25.9
container_name: postgresql-bytedesk
environment:
POSTGRES_DB: ${POSTGRES_DB:-bytedesk}
POSTGRES_USER: ${POSTGRES_USER:-postgres}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
TZ: Asia/Shanghai
ports:
- "${POSTGRES_HOST_PORT:-15432}:${POSTGRES_PORT:-5432}"
volumes:
- postgresql_data:/var/lib/postgresql
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-postgres} -d ${POSTGRES_DB:-bytedesk}"]
interval: 10s
timeout: 5s
retries: 5
networks:
- bytedesk-network
volumes:
postgresql_data:
name: bytedesk_postgresql_data18
networks:
bytedesk-network:
driver: bridge