Files
WeKnora/.env.example
T
wizardchen 397689d2f3 feat: introduce WeKnora Lite edition with lightweight configuration and deployment
- Added a new `.env.lite.example` file for the Lite version, providing a minimal configuration template.
- Updated `.env.example` to remove deprecated variables and include new Docreader settings.
- Enhanced Docker configurations to support the Lite version, including a new Dockerfile for the Docreader service.
- Introduced a Makefile target for building and running the Lite version, along with packaging capabilities.
- Created GitHub workflows for building and releasing Lite binaries, including Homebrew formula support.
- Implemented a new service file for managing the Lite version as a system service.

This update enables a streamlined, single-binary deployment of WeKnora, reducing external dependencies and simplifying setup.
2026-03-02 21:21:49 +08:00

246 lines
6.8 KiB
Bash

# 使用说明
# 1. 复制此文件为 .env
# 2. 替换所有占位符为实际值
# 3. 确保 .env 文件不会被提交到版本控制系统
# ========== 镜像版本 ==========
# WeKnora 镜像版本标签,可选值: latest(稳定版), main(最新开发版)
# WEKNORA_VERSION=latest
# gin mod
# 可选值: debug(开发模式,有详细日志), release(生产模式,禁用Swagger文档)
GIN_MODE=release
# 日志级别,可选值:debug, info, warn, error, fatal,默认为debug
# LOG_LEVEL=debug
# 禁止新用户注册(生产环境建议设为 true)
DISABLE_REGISTRATION=false
# Ollama 服务的基准 URL,用于连接本地/其他服务器上运行的 Ollama 服务
OLLAMA_BASE_URL=http://host.docker.internal:11434
# 存储配置
# 主数据库类型(postgres/mysql)
DB_DRIVER=postgres
# 向量存储类型(postgres/elasticsearch_v7/elasticsearch_v8/qdrant/milvus)
RETRIEVE_DRIVER=postgres
# 文件存储类型(local/minio/cos/tos)
STORAGE_TYPE=local
# 流处理后端(memory/redis)
STREAM_MANAGER_TYPE=redis
# 应用服务主机名,默认为app(Docker内部服务名)
# 如需代理到远程后端,可设为远程地址,如 remote-app.example.com
APP_HOST=app
# 应用服务宿主机映射端口,默认为8080(仅影响宿主机访问,不影响容器间通信)
APP_PORT=8080
# NGINX 代理到后端的目标端口,默认为8080(App容器内部监听端口)
# 本地部署:保持默认即可,无需随 APP_PORT 修改
# 远程部署:设为远程 App 服务的实际端口
# APP_BACKEND_PORT=8080
# NGINX 代理到后端的协议,默认为http
# 远程部署如后端为 HTTPS,需设为 https
# APP_SCHEME=http
# 前端服务端口,默认为80
FRONTEND_PORT=80
# 文档解析模块端口,默认为50051
DOCREADER_PORT=50051
# 数据库用户名
DB_USER=postgres
# 数据库密码
DB_PASSWORD=postgres123!@#
# 数据库名称
DB_NAME=WeKnora
# 如果使用 redis 作为流处理后端,需要配置以下参数
# Redis用户名,Redis 6.0+ ACL 功能支持(可选)
# REDIS_USERNAME=
# Redis密码,如果没有设置密码,可以留空
REDIS_PASSWORD=redis123!@#
# Redis数据库索引,默认为0
REDIS_DB=0
# Redis key的前缀,用于命名空间隔离
REDIS_PREFIX=stream:
# 当使用本地存储时,文件保存的基础目录路径
LOCAL_STORAGE_BASE_DIR=/data/files
# 是否自动恢复脏数据
AUTO_RECOVER_DIRTY=true
TENANT_AES_KEY=weknorarag-api-key-secret-secret
# 是否开启知识图谱构建和检索(构建阶段需调用大模型,耗时较长)
ENABLE_GRAPH_RAG=false
# 配置 JWT_SECRET 用于前端登录刷新Token
JWT_SECRET=weknora-jwt-secret
# MinIO端口
# MINIO_PORT=9000
# MinIO控制台端口
# MINIO_CONSOLE_PORT=9001
# Embedding并发数,出现429错误时,可调小此参数
CONCURRENCY_POOL_SIZE=5
# (Removed: IMAGE_MAX_CONCURRENT, OCR_BACKEND — moved to Go App module after lightweight refactoring)
# 如果使用ElasticSearch作为向量存储,需要配置以下参数
# ElasticSearch地址,例如 http://localhost:9200
# ELASTICSEARCH_ADDR=your_elasticsearch_addr
# ElasticSearch用户名,如果需要身份验证
# ELASTICSEARCH_USERNAME=your_elasticsearch_username
# ElasticSearch密码,如果需要身份验证
# ELASTICSEARCH_PASSWORD=your_elasticsearch_password
# ElasticSearch索引名称,用于存储向量数据
# ELASTICSEARCH_INDEX=WeKnora
# 如果使用Qdrant作为向量存储,需要配置以下参数
# Qdrant服务主机地址
# QDRANT_HOST=localhost
# Qdrant服务端口
# QDRANT_PORT=6334
# Qdrant集合名称,用于存储向量数据
# QDRANT_COLLECTION=weknora_embeddings
# Qdrant API密钥,如果需要身份验证(可选)
# QDRANT_API_KEY=your_qdrant_api_key
# 是否启用TLS加密连接(可选,默认为false)
# QDRANT_USE_TLS=false
# 如果使用MinIO作为文件存储,需要配置以下参数
# MinIO访问密钥
# MINIO_ACCESS_KEY_ID=your_minio_access_key
# MinIO密钥
# MINIO_SECRET_ACCESS_KEY=your_minio_secret_key
# MinIO桶名称,用于存储文件
# MINIO_BUCKET_NAME=your_minio_bucket_name
# 如果使用腾讯云COS作为文件存储,需要配置以下参数
# 腾讯云COS的访问密钥ID
# COS_SECRET_ID=your_cos_secret_id
# 腾讯云COS的密钥
# COS_SECRET_KEY=your_cos_secret_key
# 腾讯云COS的区域,例如 ap-guangzhou
# COS_REGION=your_cos_region
# 腾讯云COS的桶名称
# COS_BUCKET_NAME=your_cos_bucket_name
# 腾讯云COS的应用ID
# COS_APP_ID=your_cos_app_id
# 腾讯云COS的路径前缀,用于存储文件
# COS_PATH_PREFIX=your_cos_path_prefix
# COS_ENABLE_OLD_DOMAIN=true 表示启用旧的域名格式,默认为 true
COS_ENABLE_OLD_DOMAIN=true
# 如果使用火山引擎TOS作为文件存储,需要配置以下参数
# 火山引擎TOS的访问端点,例如 https://tos-cn-beijing.volces.com
# TOS_ENDPOINT=https://tos-cn-beijing.volces.com
# 火山引擎TOS的区域,例如 cn-beijing
# TOS_REGION=cn-beijing
# 火山引擎TOS访问密钥 Access Key
# TOS_ACCESS_KEY=your_tos_access_key
# 火山引擎TOS访问密钥 Secret Key
# TOS_SECRET_KEY=your_tos_secret_key
# 火山引擎TOS桶名称
# TOS_BUCKET_NAME=your_tos_bucket_name
# 火山引擎TOS可选路径前缀(可选)
# TOS_PATH_PREFIX=your_tos_path_prefix
# 火山引擎TOS临时桶名称(可选,用于存放自动过期临时文件)
# TOS_TEMP_BUCKET_NAME=your_tos_temp_bucket_name
# 火山引擎TOS临时桶区域(可选,默认与主桶相同)
# TOS_TEMP_REGION=your_tos_temp_region
# 如果解析网络连接使用Web代理,需要配置以下参数
# WEB_PROXY=your_web_proxy
# Neo4j 开关
# NEO4J_ENABLE=false
# Neo4j的访问地址
# NEO4J_URI=neo4j://neo4j:7687
# Neo4j的用户名和密码
# NEO4J_USERNAME=neo4j
# Neo4j的密码
# NEO4J_PASSWORD=password
# ========== 文件上传大小限制 ==========
# 统一的文件大小限制(MB),默认为50MB
# 影响:单文件上传、gRPC消息大小、Nginx请求体大小
# MAX_FILE_SIZE_MB=50
# ========== Agent Skills Sandbox 配置 ==========
# Sandbox 模式: docker(默认), local, disabled
WEKNORA_SANDBOX_MODE=docker
# 脚本执行超时时间(秒),默认60
WEKNORA_SANDBOX_TIMEOUT=60
# 自定义 Sandbox Docker 镜像
WEKNORA_SANDBOX_DOCKER_IMAGE=wechatopenai/weknora-sandbox:latest
# APK 镜像源设置(可选)
APK_MIRROR_ARG=mirrors.tencent.com
# 如果使用Milvus作为向量存储,需要配置以下参数
# Milvus服务地址
# MILVUS_ADDRESS=milvus:19530
# Milvus集合名称,用于存储向量数据
# MILVUS_COLLECTION=weknora_embeddings
# Milvus 用户名(可选)
# MILVUS_USERNAME=your_milvus_username
# Milvus 密码(可选)
# MILVUS_PASSWORD=your_milvus_password
# Milvus 数据库名称(可选)
# MILVUS_DB_NAME=your_milvus_db_name
# Docreader 地址
DOCREADER_ADDR=docreader:50051
# Docreader 连接方式
DOCREADER_TRANSPORT=grpc