Files
raisfast/.env.example
T

107 lines
3.3 KiB
Bash
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.
# 应用配置
APP_HOST=0.0.0.0
APP_PORT=3000
APP_ENV=development
# APP_KEY is auto-generated on first start. Only set manually if needed.
# APP_KEY=
# Profile-based env loading:
# .env → .env.{APP_PROFILE} → .env.local
# APP_PROFILE=development
# 数据库
# SQLite 默认: sqlite:{STORAGE_ROOT_DIR}/db/raisfast.db?mode=rwc
DATABASE_URL=sqlite:./storage/db/blog.db?mode=rwc
# ── 本地文件存储根目录 ──────────────────────────────────────
# 所有本地文件(db/uploads/logs/search_index/vfs/pid)的父目录
# STORAGE_ROOT_DIR=./storage
# JWT
JWT_SECRET=change-me-in-production-at-least-32-chars
JWT_ACCESS_EXPIRES=900
JWT_REFRESH_EXPIRES=604800
# 媒体上传(默认 {STORAGE_ROOT_DIR}/uploads,目录会自动创建)
# UPLOAD_DIR=./storage/uploads
MAX_UPLOAD_SIZE=104857600
# plugin
# PLUGIN_DIR=./extensions/plugins
# 插件虚拟文件系统(默认 {STORAGE_ROOT_DIR}/vfs
# PLUGIN_VFS_ROOT=./storage/vfs
PLUGIN_VFS_MAX_FILE_SIZE=1048576
PLUGIN_VFS_MAX_TOTAL_SIZE=10485760
# 插件实例池大小(WASM/Lua/JS
PLUGIN_WASM_POOL_SIZE=4
PLUGIN_LUA_POOL_SIZE=4
PLUGIN_JS_POOL_SIZE=4
# 日志(默认 {STORAGE_ROOT_DIR}/logs
RUST_LOG=raisfast=debug,tower_http=debug
# LOG_DIR=./storage/logs
LOG_MAX_FILES=7
# 限流(格式:max_requests/window_secs
RATE_LIMIT_GLOBAL_MAX=60
RATE_LIMIT_GLOBAL_WINDOW=60
RATE_LIMIT_REGISTER_MAX=5
RATE_LIMIT_REGISTER_WINDOW=3600
RATE_LIMIT_LOGIN_MAX=10
RATE_LIMIT_LOGIN_WINDOW=60
RATE_LIMIT_COMMENT_MAX=3
RATE_LIMIT_COMMENT_WINDOW=60
# Worker 后台任务队列
WORKER_ENABLED=false
WORKER_CONCURRENCY=2
WORKER_POLL_INTERVAL_MS=500
WORKER_DEFAULT_MAX_ATTEMPTS=3
WORKER_CRON_TICK_MS=60000
CRON_SEED_ENABLED=false
CRON_LOG_RETENTION_DAYS=30
# CRON_SCHEDULES — JSON array of schedules to seed on first run, e.g.:
# CRON_SCHEDULES=[{"label":"Generate Sitemap","job_type":"generate_sitemap","payload":null,"cron_expr":"0 0 */6 * * *","enabled":true}]
# 时区(IANA 格式,默认 UTC)
# APP_TIMEZONE=UTC
# Extension 根目录(统一管理 Content Type + Plugin
# EXTENSION_DIR=./extensions
# CORS(生产环境务必设置具体域名,多个用逗号分隔)
# CORS_ORIGINS=http://localhost:3000
# 站点公开地址(前端访问后端的 URL,默认取 APP_HOST:APP_PORT
# BASE_URL=http://localhost:3000
# 文件存储(local | s3
# local: 文件存到 UPLOAD_DIR,需确保该目录可写
# s3: 文件存到 S3 兼容对象存储,需配置下方 S3_* 参数
# STORAGE_DRIVER=local
# S3 / RustFS 配置(仅 STORAGE_DRIVER=s3 时需要)
# S3_ENDPOINT=http://rustfs:9000
# S3_ACCESS_KEY=rustfsadmin
# S3_SECRET_KEY=rustfsadmin
# S3_BUCKET=blog
# S3_REGION=us-east-1
# S3_PUBLIC_URL=http://localhost:9001
# GraphQL API(默认关闭,启用后可通过 /api/v1/graphql 访问)
# GRAPHQL_ENABLED=true
# WebSocket 实时推送(默认关闭,启用后可通过 /api/v1/ws 连接)
# WEBSOCKET_ENABLED=true
# ── 内置模块开关 ──────────────────────────────────────────
# 控制哪些内置 CMS 模块启用(false 则不注册对应路由和表)
# BUILTIN_BLOG=true
# BUILTIN_PAGES=true
# BUILTIN_MEDIA=true
# BUILTIN_FULLTEXT=true
# BUILTIN_WORKFLOW=true
# BUILTIN_TENANTABLE=false