summit/CONFIG.md

2.9 KiB

项目配置指南 (CONFIG.md)

本文档定义了项目的环境变量配置、数据库连接信息以及资源路径设置。 建议在 backend 目录下创建 .env 文件来管理这些敏感信息。


1. 基础设施服务 (Infrastructure)

本项目依赖的数据库服务运行在本地 Docker 容器中。

1.1 PostgreSQL (Database)

  • Docker Container Name: postgis-db-1
  • Default Port: 5432
  • 建议配置 (.env):
# Database Connection String
# 格式: postgresql://<username>:<password>@<host>:<port>/<database_name>
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/summit_db

# 详细字段 (供参考)
POSTGRES_SERVER=localhost
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=summit_db
POSTGRES_PORT=5432

1.2 Redis (Cache)

  • Docker Container Name: my-redis
  • Default Port: 6379
  • 建议配置 (.env):
# Redis Connection String
# 格式: redis://<host>:<port>/<db_index>
REDIS_URL=redis://localhost:6379/14

# 详细字段 (供参考)
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_DB=14
# REDIS_PASSWORD=  # 如果容器配置了密码

2. 后端应用配置 (Backend)

2.1 基础设置

# API 运行环境 (development / production)
ENVIRONMENT=development
# API 监听端口
PORT=8000
# 跨域配置 (CORS) - 允许的前端地址
BACKEND_CORS_ORIGINS=["http://localhost:5173", "http://127.0.0.1:5173"]

2.2 静态资源路径 (Static Resources)

所有生成的瓦片、GeoJSON 等静态资源统一存放于 backend/upload 目录。

# 静态文件存储根目录 (相对 backend/ 目录或绝对路径)
UPLOAD_DIR=./upload

# 访问基础 URL (用于生成完整的资源链接)
# 前端通过 Proxy 访问,通常为 /static 或 /resources
STATIC_URL_PREFIX=/static

2.3 JWT / 安全 (Security)

# 用于加密 Token 的密钥 (生成方式: openssl rand -hex 32)
SECRET_KEY=your_super_secret_key_here
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=1440

3. 前端配置 (Frontend)

前端 (Vite) 通过代理访问后端,配置位于 frontend/vite.config.ts

3.1 代理设置 (Proxy)

前端开发服务器会将特定请求转发到后端 API 和静态资源目录。

// vite.config.ts 示例
export default defineConfig({
  server: {
    proxy: {
      // API 转发
      '/api': {
        target: 'http://localhost:8000',
        changeOrigin: true,
      },
      // 静态资源转发 (对应后端的 upload 目录挂载点)
      '/static': {
        target: 'http://localhost:8000',
        changeOrigin: true,
      }
    }
  }
})

4. 数据处理流水线配置 (Data Pipeline)

用于 Python 数据处理脚本 (data/scripts/)。

# NASA Earthdata 登录凭证 (用于下载 SRTM 数据)
NASA_USERNAME=your_nasa_username
NASA_PASSWORD=your_nasa_password

# GDAL 配置 (如果非标准安装路径)
# GDAL_DATA=/usr/share/gdal