Skip to content

Latest commit

 

History

History
103 lines (71 loc) · 2.2 KB

File metadata and controls

103 lines (71 loc) · 2.2 KB

Docker 部署指南

前置要求

  1. Docker 和 Docker Compose 已安装
  2. 创建 .env 文件(参考下面的配置)

配置步骤

1. 创建 .env 文件

在项目根目录创建 .env 文件,内容如下:

# PostgreSQL Database Configuration
POSTGRES_HOST=postgres
POSTGRES_PORT=5432
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=olist_ecommerce

# OpenAI API Configuration (必需)
OPENAI_API_KEY=your_openai_api_key_here

# LangSmith Configuration (可选)
LANGCHAIN_API_KEY=your_langsmith_api_key_here
LANGCHAIN_TRACING_V2=true
LANGCHAIN_PROJECT=nl2sql-agent

# Ngrok Configuration (可选 - 用于公网访问)
NGROK_AUTHTOKEN=your_ngrok_authtoken_here
NGROK_DOMAIN=your_ngrok_domain_here

2. 更新数据库配置

确保 configs/database.yml 中的数据库配置与 .env 文件一致,或者修改为使用环境变量:

database:
  host: postgres  # Docker 服务名
  port: 5432
  database: olist_ecommerce
  username: postgres
  password: postgres

3. 启动服务

# 构建并启动所有服务
docker compose up -d

# 查看日志
docker compose logs -f

# 停止服务
docker compose down

# 停止并删除数据卷
docker compose down -v

服务说明

  • postgres: PostgreSQL 数据库(带 pgvector 扩展)

    • 端口: 5432
    • 数据持久化在 postgres_data 卷中
  • app: NL2SQL Agent API 应用

  • ngrok: 公网访问代理(可选)

    • 端口: 4040
    • 需要配置 NGROK_AUTHTOKENNGROK_DOMAIN

故障排查

1. Dockerfile 找不到

确保 Dockerfile 文件在项目根目录。

2. 数据库连接失败

  • 检查 configs/database.yml 中的 host 是否为 postgres(Docker 服务名)
  • 确保 PostgreSQL 服务已启动:docker compose ps

3. 环境变量未设置

  • 确保 .env 文件存在且配置正确
  • 检查环境变量是否被正确读取:docker compose config

初始化数据库

首次运行前,可能需要:

  1. 创建数据库表结构
  2. 初始化向量存储
  3. 导入示例数据

参考项目文档或 notebooks 中的教程。