e91cad79e6
- 新增 data/db/ 数据库访问层:pool 管理、类型定义、Zod 校验、参数化 SQL 查询 - 新增 data/db/config-crud.ts:MonitoredSymbolsRepo / ExchangeConfigRepo / AppConfigRepo 三个 CRUD 服务类 - 新增 data/config.ts:中心化配置模块,零依赖 .env 解析 + Zod 校验 - 新增 data/schema/:klines.sql + config.sql 参考 DDL - 新增 data/exchanges/:交易所类型定义与 Binance WebSocket 封装 - 新增 data/run/:交易所连接启动入口 - 重构 data/init-db/:001_init.sql 仅保留 TimescaleDB + klines,配置表拆分至 002_config.sql - 更新 docker-compose.yml:挂载 init-db 初始化脚本
35 lines
875 B
YAML
35 lines
875 B
YAML
services:
|
|
timescaledb:
|
|
image: timescale/timescaledb-ha:pg17.10-ts2.27.1
|
|
container_name: trade-timescaledb
|
|
restart: unless-stopped
|
|
ports:
|
|
- "5432:5432"
|
|
environment:
|
|
POSTGRES_DB: trade
|
|
POSTGRES_USER: trader
|
|
POSTGRES_PASSWORD: fucketh
|
|
volumes:
|
|
- ./db/pgsql:/var/lib/postgresql
|
|
- ./data/init-db:/docker-entrypoint-initdb.d # 自动执行建表 SQL
|
|
command: >
|
|
-c shared_buffers=1GB
|
|
-c effective_cache_size=3GB
|
|
-c maintenance_work_mem=256MB
|
|
-c work_mem=64MB
|
|
-c wal_buffers=64MB
|
|
-c random_page_cost=1.1
|
|
-c effective_io_concurrency=200
|
|
-c max_connections=50
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U trader -d trade"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
adminer:
|
|
image: adminer
|
|
restart: always
|
|
ports:
|
|
- 8080:8080
|