Steedos Configuration | Steedos 配置
Overview | 概述
Configuration is loaded from multiple sources (in priority order):
- System environment variables (highest priority)
.env.local file
.env file
YAML values support ${ENV_VAR} interpolation from environment variables.
Required Environment Variables | 必需环境变量
All Environment Variables | 环境变量参考
Core Server | 核心服务
Database | 数据库
Edition & License | 版本与许可
File Storage | 文件存储
Frontend Assets | 前端资源
Plugin System | 插件系统
Development & Debug | 开发和调试
Localization | 本地化
YAML Configuration | YAML 配置
Configuration Sections | 配置节
datasources — 数据源
datasources:
default:
connection:
url: ${MONGO_URL}
objectFiles:
- "./steedos-app/**"
tenant — 租户设置
tenant:
_id: ${STEEDOS_TENANT_ID}
name: My Company
logo_url: ${STEEDOS_TENANT_LOGO_URL}
enable_register: true
enable_password_login: true
enable_mobile_code_login: false
enable_email_code_login: false
tokenSecret: ${STEEDOS_TENANT_TOKEN_SECRET}
accessTokenExpiresIn: 90d
refreshTokenExpiresIn: 7d
cfs — Cloud File Storage | 云文件存储
cfs:
store: local # ⚠️ MUST be one of: local | aliyun | aws | steedosCloud
local:
folder: ${STEEDOS_STORAGE_DIR}
aliyun:
region: ${STEEDOS_CFS_ALIYUN_REGION}
bucket: ${STEEDOS_CFS_ALIYUN_BUCKET}
accessKeyId: ${STEEDOS_CFS_ALIYUN_ACCESSKEYID}
secretAccessKey: ${STEEDOS_CFS_ALIYUN_SECRETACCESSKEY}
aws:
region: ${STEEDOS_CFS_AWS_S3_REGION}
endpoint: ${STEEDOS_CFS_AWS_S3_ENDPOINT}
bucket: ${STEEDOS_CFS_AWS_S3_BUCKET}
accessKeyId: ${STEEDOS_CFS_AWS_S3_ACCESS_KEY_ID}
secretAccessKey: ${STEEDOS_CFS_AWS_S3_SECRET_ACCESS_KEY}
email — 邮件配置
email:
from: ${STEEDOS_EMAIL_FROM}
host: ${STEEDOS_EMAIL_HOST}
port: ${STEEDOS_EMAIL_PORT}
username: ${STEEDOS_EMAIL_USERNAME}
password: ${STEEDOS_EMAIL_PASSWORD}
sso.oidc — SSO/OIDC 单点登录
sso:
oidc:
config_url: ${STEEDOS_IDENTITY_OIDC_CONFIG_URL}
client_id: ${STEEDOS_IDENTITY_OIDC_CLIENT_ID}
client_secret: ${STEEDOS_IDENTITY_OIDC_CLIENT_SECRET}
name: ${STEEDOS_IDENTITY_OIDC_NAME}
label: ${STEEDOS_IDENTITY_OIDC_LABEL}
cron — 定时任务
cron:
enabled: ${STEEDOS_CRON_ENABLED}
mailqueue_interval: ${STEEDOS_CRON_MAILQUEUE_INTERVAL}
push_interval: ${STEEDOS_CRON_PUSH_INTERVAL}
workflow_rule_interval: ${STEEDOS_CRON_WORKFLOW_RULE}
Complete .env Examples | 完整 .env 示例
Development Environment | 开发环境
PORT=5100
ROOT_URL=http://localhost:5100
NODE_ENV=development
MONGO_URL=mongodb://127.0.0.1:27017/steedos
TRANSPORTER=redis://127.0.0.1:6379
CACHER=redis://127.0.0.1:6379/1
STEEDOS_STORAGE_DIR=./steedos-storage
B6_LOG_LEVEL=warn
JWT_SECRET=development_secret_key_change_in_production
DEBUG=true
HOT_RELOAD=true
Production Environment | 生产环境
PORT=80
ROOT_URL=https://app.example.com
NODE_ENV=production
MONGO_URL=mongodb://user:[email protected]:27017/steedos?authSource=admin
TRANSPORTER=redis://:[email protected]:6379
CACHER=redis://:[email protected]:6379/1
STEEDOS_CFS_STORE=aws
AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
AWS_S3_BUCKET=my-app-storage
AWS_S3_REGION=us-east-1
B6_LOG_LEVEL=error
JWT_SECRET=production_strong_secret_key_min_32_chars
MAIL_URL=smtp://user:[email protected]:587
[email protected]
HOT_RELOAD=false
Docker Configuration | Docker 配置
version: '3'
services:
steedos:
image: steedos/steedos-community:latest
ports:
- "5100:5100"
environment:
- PORT=5100
- ROOT_URL=http://localhost:5100
- MONGO_URL=mongodb://mongo:27017/steedos
- TRANSPORTER=redis://redis:6379
- CACHER=redis://redis:6379/1
depends_on:
- mongo
- redis
mongo:
image: mongo:4.4
volumes:
- mongo_data:/data/db
redis:
image: redis:6-alpine
volumes:
mongo_data:
Security Best Practices | 安全最佳实践
- Never commit secrets: Add
.env, .env.local to .gitignore
- Use strong secrets: JWT_SECRET should be 32+ random chars
- Rotate keys regularly: Update JWT_SECRET and API keys periodically
- Use environment-specific values: Don't reuse secrets across environments
Troubleshooting | 故障排除