-
Notifications
You must be signed in to change notification settings - Fork 22
Expand file tree
/
Copy path.env.example
More file actions
195 lines (158 loc) · 6.8 KB
/
.env.example
File metadata and controls
195 lines (158 loc) · 6.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
# ================================
# Soybean Admin Rust 环境变量配置示例
# ================================
#
# 这个文件展示了所有可配置的环境变量及其格式
# 复制此文件为 .env 并根据需要修改配置值
#
# 配置优先级:环境变量 > 配置文件 > 默认值
#
# 使用方法:
# 1. 复制此文件:cp .env.example .env
# 2. 修改 .env 文件中的配置值
# 3. 启动应用程序时会自动加载环境变量
#
# ================================
# ================================
# 数据库配置 (必需)
# ================================
# 数据库连接URL
# 格式:postgres://用户名:密码@主机:端口/数据库名
# DATABASE_URL=postgres://${USER}:${PASSWORD}@${HOST}:${PORT}/${DATABASE_NAME}
APP_DATABASE_URL=postgres://soybean:soybean@123.@localhost:5432/soybean_admin_rust
# 数据库连接池配置
APP_DATABASE_MAX_CONNECTIONS=10
APP_DATABASE_MIN_CONNECTIONS=1
APP_DATABASE_CONNECT_TIMEOUT=30
APP_DATABASE_IDLE_TIMEOUT=600
# ================================
# 数据库实例配置 (可选)
# ================================
# 支持配置多个命名的数据库连接
# 格式:APP_DATABASE_INSTANCES_{索引}_{字段名}
# 第一个数据库实例 - test(对应配置文件中的实例)
APP_DATABASE_INSTANCES_0_NAME=test
APP_DATABASE_INSTANCES_0_DATABASE_URL=postgres://postgres:123456@bytebytebrew.local:5432/soybean-admin-rust-backend
APP_DATABASE_INSTANCES_0_DATABASE_MAX_CONNECTIONS=10
APP_DATABASE_INSTANCES_0_DATABASE_MIN_CONNECTIONS=1
APP_DATABASE_INSTANCES_0_DATABASE_CONNECT_TIMEOUT=30
APP_DATABASE_INSTANCES_0_DATABASE_IDLE_TIMEOUT=600
# 第二个数据库实例 - analytics(示例)
# APP_DATABASE_INSTANCES_1_NAME=analytics
# APP_DATABASE_INSTANCES_1_DATABASE_URL=postgres://postgres:123456@bytebytebrew.local:5432/analytics_db
# APP_DATABASE_INSTANCES_1_DATABASE_MAX_CONNECTIONS=20
# APP_DATABASE_INSTANCES_1_DATABASE_MIN_CONNECTIONS=2
# APP_DATABASE_INSTANCES_1_DATABASE_CONNECT_TIMEOUT=30
# APP_DATABASE_INSTANCES_1_DATABASE_IDLE_TIMEOUT=600
# ================================
# 服务器配置 (必需)
# ================================
# 服务器监听地址
APP_SERVER_HOST=0.0.0.0
# 服务器监听端口
APP_SERVER_PORT=10001
# ================================
# JWT 配置 (必需)
# ================================
# JWT 密钥(请使用强密码)
APP_JWT_JWT_SECRET=your-super-secret-jwt-key-change-this-in-production
# JWT 签发者
APP_JWT_ISSUER=https://github.com/ByteByteBrew/soybean-admin-rust
# JWT 过期时间(秒)
APP_JWT_EXPIRE=7200
# ================================
# Redis 配置 (可选)
# ================================
# Redis 模式:single(单机)或 cluster(集群)
APP_REDIS_MODE=single
# Redis 连接URL(单机模式)
# 格式:redis://[:密码@]主机:端口/数据库编号
APP_REDIS_URL=redis://:123456@bytebytebrew.local:26379/10
# ================================
# Redis 实例配置 (可选)
# ================================
# 支持配置多个命名的 Redis 连接
# 格式:APP_REDIS_INSTANCES_{索引}_{字段名}
# 第一个 Redis 实例 - cache(对应配置文件中的实例)
APP_REDIS_INSTANCES_0_NAME=cache
APP_REDIS_INSTANCES_0_REDIS_MODE=single
APP_REDIS_INSTANCES_0_REDIS_URL=redis://:123456@bytebytebrew.local:26379/11
# 第二个 Redis 实例 - test(对应配置文件中的实例)
APP_REDIS_INSTANCES_1_NAME=test
APP_REDIS_INSTANCES_1_REDIS_MODE=single
APP_REDIS_INSTANCES_1_REDIS_URL=redis://:123456@bytebytebrew.local:26379/12
# 第三个 Redis 实例 - session(示例)
# APP_REDIS_INSTANCES_2_NAME=session
# APP_REDIS_INSTANCES_2_REDIS_MODE=single
# APP_REDIS_INSTANCES_2_REDIS_URL=redis://:123456@bytebytebrew.local:26379/13
# Redis 集群实例示例
# APP_REDIS_INSTANCES_3_NAME=cluster_cache
# APP_REDIS_INSTANCES_3_REDIS_MODE=cluster
# APP_REDIS_INSTANCES_3_REDIS_URLS=redis://:123456@host1:7001,redis://:123456@host2:7002,redis://:123456@host3:7003
# ================================
# MongoDB 配置 (可选)
# ================================
# MongoDB 连接URI
# 格式:mongodb://[用户名:密码@]主机:端口/数据库名[?选项]
APP_MONGO_URI=mongodb://bytebytebrew.local:27017
# ================================
# MongoDB 实例配置 (可选)
# ================================
# 支持配置多个命名的 MongoDB 连接
# 格式:APP_MONGO_INSTANCES_{索引}_{字段名}
# 第一个 MongoDB 实例 - main_db(示例)
# APP_MONGO_INSTANCES_0_NAME=main_db
# APP_MONGO_INSTANCES_0_MONGO_URI=mongodb://bytebytebrew.local:27017/main_db
# 第二个 MongoDB 实例 - logs_db(示例)
# APP_MONGO_INSTANCES_1_NAME=logs_db
# APP_MONGO_INSTANCES_1_MONGO_URI=mongodb://bytebytebrew.local:27017/logs_db
# 带认证的 MongoDB 实例示例
# APP_MONGO_INSTANCES_2_NAME=auth_db
# APP_MONGO_INSTANCES_2_MONGO_URI=mongodb://user:password@bytebytebrew.local:27017/auth_db
# ================================
# S3 配置 (可选)
# ================================
# S3 区域
# APP_S3_REGION=us-east-1
# S3 访问密钥ID
# APP_S3_ACCESS_KEY_ID=your-access-key-id
# S3 秘密访问密钥
# APP_S3_SECRET_ACCESS_KEY=your-secret-access-key
# S3 端点URL(可选,用于自定义S3兼容服务如阿里云OSS)
# APP_S3_ENDPOINT=https://oss-cn-beijing.aliyuncs.com
# ================================
# S3 实例配置 (可选)
# ================================
# 支持配置多个命名的 S3 连接
# 格式:APP_S3_INSTANCES_{索引}_{字段名}
# 第一个 S3 实例 - main_storage(示例)
# APP_S3_INSTANCES_0_NAME=main_storage
# APP_S3_INSTANCES_0_S3_REGION=us-east-1
# APP_S3_INSTANCES_0_S3_ACCESS_KEY_ID=your-main-access-key-id
# APP_S3_INSTANCES_0_S3_SECRET_ACCESS_KEY=your-main-secret-access-key
# APP_S3_INSTANCES_0_S3_ENDPOINT=https://s3.amazonaws.com
# 第二个 S3 实例 - backup_storage(示例)
# APP_S3_INSTANCES_1_NAME=backup_storage
# APP_S3_INSTANCES_1_S3_REGION=us-west-2
# APP_S3_INSTANCES_1_S3_ACCESS_KEY_ID=your-backup-access-key-id
# APP_S3_INSTANCES_1_S3_SECRET_ACCESS_KEY=your-backup-secret-access-key
# 阿里云 OSS 实例示例
# APP_S3_INSTANCES_2_NAME=aliyun_oss
# APP_S3_INSTANCES_2_S3_REGION=oss-cn-beijing
# APP_S3_INSTANCES_2_S3_ACCESS_KEY_ID=your-aliyun-access-key-id
# APP_S3_INSTANCES_2_S3_SECRET_ACCESS_KEY=your-aliyun-secret-access-key
# APP_S3_INSTANCES_2_S3_ENDPOINT=https://oss-cn-beijing.aliyuncs.com
# ================================
# 使用说明
# ================================
#
# 1. 环境变量优先级:环境变量 > 配置文件 > 默认值
# 2. 多实例配置:使用索引(0, 1, 2...)来配置多个命名实例
# 3. 数组格式:APP_{类型}_INSTANCES_{索引}_{字段名}
# 4. 启用实例:取消注释相应的环境变量即可
# 5. 配置验证:启动时会显示加载的配置信息
#
# 示例启动命令:
# export APP_DATABASE_URL="postgres://user:pass@host:5432/db"
# export APP_SERVER_PORT=8080
# cargo run --bin server