forked from Chen-Taos/tinyship-main
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathenv.example
More file actions
195 lines (158 loc) · 7.99 KB
/
Copy pathenv.example
File metadata and controls
195 lines (158 loc) · 7.99 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
# 应用 Base URL
APP_BASE_URL=http://localhost:7001
# 数据库配置
# DB_DIALECT: "pg" (default) for PostgreSQL, "sqlite" for local SQLite, "d1" for Cloudflare D1
DB_DIALECT="pg"
DATABASE_URL="postgresql://username:password@localhost:5432/tinyship"
# SQLITE_DB_PATH="./data/local.sqlite" # Only used when DB_DIALECT=sqlite
# 认证配置
BETTER_AUTH_SECRET="your-secret-key-here-32-characters-minimum"
BETTER_AUTH_URL="http://localhost:7001"
# OAuth 配置 (可选)
## Google Oauth 登录
GOOGLE_CLIENT_ID="your-google-client-id"
GOOGLE_CLIENT_SECRET="your-google-client-secret"
## Github Oauth 登录
GITHUB_CLIENT_ID="your-github-client-id"
GITHUB_CLIENT_SECRET="your-github-client-secret"
## 微信 OAuth 登录(可选)
NEXT_PUBLIC_WECHAT_APP_ID="your-wechat-app-id"
VITE_WECHAT_APP_ID="your-wechat-app-id"
WECHAT_APP_SECRET="your-wechat-app-secret"
# 邮件服务(可选)
## Resend 配置
RESEND_API_KEY="your-resend-api-key"
EMAIL_DEFAULT_FROM="noreply@yourdomain.com"
## Cloudflare 通用账号凭据
# 这组变量当前用于 Cloudflare Email Sending
# 其中 CLOUDFLARE_ACCOUNT_ID 也可被 R2 配置回退复用
CLOUDFLARE_ACCOUNT_ID="your-cloudflare-account-id"
CLOUDFLARE_API_TOKEN="your-cloudflare-api-token"
## Cloudflare Email Sending 说明
# - 邮件发送默认复用上面的 Cloudflare 通用账号变量
# - 发送域名需先在 Cloudflare Email Sending 中完成 onboarding
# - EMAIL_DEFAULT_FROM 必须属于已启用 Email Sending 的域名
# 阿里云通用配置(短信、OSS 等服务共用)
# 注意:这组密钥可同时用于阿里云短信和 OSS 存储服务
ALIYUN_ACCESS_KEY_ID="your-aliyun-key-id"
ALIYUN_ACCESS_KEY_SECRET="your-aliyun-key-secret"
# 短信服务(可选)
## 阿里云短信(使用上面的 ALIYUN_ACCESS_KEY)
ALIYUN_SMS_SIGN_NAME="your-sms-sign-name" #签名名称
ALIYUN_SMS_TEMPLATE_CODE="SMS_000000000" #模版Code
## TWILLO 短信
TWILIO_ACCOUNT_SID="AC1111111111111111"
TWILIO_AUTH_TOKEN="your-twilio-auth-token"
TWILIO_DEFAULT_FROM="+1234567890"
# 支付配置(可选)
## 微信支付
WECHAT_PAY_APP_ID="微信支付 APP ID"
WECHAT_PAY_MCH_ID="微信支付商家 ID"
WECHAT_PAY_API_KEY="微信支付 API KEY 密码"
WECHAT_PAY_NOTIFY_URL="微信支付webhook 回调地址 https://your-domain.com/api/payment/webhook/wechat"
# 微信支付证书 (PEM 格式,使用 \n 转义符)
WECHAT_PAY_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEAtWmyOwo...\n-----END RSA PRIVATE KEY-----"
WECHAT_PAY_PUBLIC_KEY="-----BEGIN CERTIFICATE-----\nMIIEpDCCA4ygAwIBAgIUa...\n-----END CERTIFICATE-----"
WECHAT_PAY_PAYMENT_PUBLIC_KEY="-----BEGIN PUBLIC KEY----- # 微信支付公钥验证(新的验证方式,推荐,非必需,如果不使用这种模式请删除这行)"
WECHAT_PAY_PUBLIC_KEY_ID="PUB_KEY_ID_0000000000000024101100397200000006 # 微信支付公钥验证(新的验证方式,推荐,非必需, 如果不使用这种模式请删除这行)"
## Stripe 支付
STRIPE_PUBLIC_KEY="your-stripe-publishable-key"
STRIPE_SECRET_KEY="your-stripe-secret-key"
STRIPE_WEBHOOK_SECRET="your-stripe-webhook-secret"
## CREEM 支付
CREEM_API_KEY="your-creem-api-key"
CREEM_WEBHOOK_SECRET="your-creem-webhook-secret"
CREEM_SERVER_URL="creem-server-url 默认为 https://test-api.creem.io,测试环境"
## 支付宝
ALIPAY_APP_ID="支付宝应用 APP ID"
ALIPAY_NOTIFY_URL="支付宝 webhook 回调地址 https://your-domain.com/api/payment/webhook/alipay"
# 支付宝密钥 (纯 Base64 字符串,从支付宝开放平台直接复制)
# 应用私钥: 用于签名请求
ALIPAY_APP_PRIVATE_KEY="MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC..."
# 支付宝公钥: 用于验证支付宝回调签名 (从支付宝开放平台获取,不是你的应用公钥)
ALIPAY_PUBLIC_KEY="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAgatiwfGM3RTw..."
# 沙盒环境 (设置为 "true" 使用沙盒环境进行测试)
# 沙盒文档: https://opendocs.alipay.com/open/00dn7o
ALIPAY_SANDBOX="false"
## PayPal
# PayPal Developer Dashboard: https://developer.paypal.com/dashboard/applications
PAYPAL_CLIENT_ID="your-paypal-client-id"
PAYPAL_CLIENT_SECRET="your-paypal-client-secret"
# PayPal Webhook ID (get from PayPal Dashboard -> Webhooks)
PAYPAL_WEBHOOK_ID="your-paypal-webhook-id"
# Sandbox environment (set to "false" for production)
PAYPAL_SANDBOX="true"
# 只有 e2e 测试的时候需要用到
PAYPAL_E2E_USER_NAME=""
PAYPAL_E2E_USER_PWD=""
## Dodo Payments (Global market, Merchant of Record)
# Dashboard: https://dashboard.dodopayments.com
DODO_PAYMENTS_API_KEY="your-dodo-payments-api-key"
# Webhook signing key (get from Dashboard -> Developer -> Webhooks)
DODO_PAYMENTS_WEBHOOK_KEY="your-dodo-payments-webhook-key"
# Test mode (set to "false" for production)
DODO_PAYMENTS_TEST_MODE="true"
# Captcha 验证码配置 (可选)
## Cloudflare TURNSTILE
TURNSTILE_SECRET_KEY="your-trunstile-secret-key"
NEXT_PUBLIC_TURNSTILE_SITE_KEY="your-trunstile-site-key"
# AI 配置 (可选)
## AI 提供商配置
AI_PROVIDER="qwen" # 默认使用的 AI 提供商
## OpenAI 配置
OPENAI_API_KEY="your-openai-api-key"
OPENAI_BASE_URL="optional-base-url" # 可选:自定义 API 基础地址
## 通义千问 (Qwen) 配置
QWEN_API_KEY="your-qwen-api-key"
QWEN_BASE_URL="https://dashscope.aliyuncs.com/compatible-mode/v1"
# 说明:阿里云 DashScope 视频生成默认复用 QWEN_API_KEY / QWEN_BASE_URL,
# 无需额外新增其他同义变量。
## DeepSeek 配置
DEEPSEEK_API_KEY="your-deepseek-api-key"
## fal.ai 配置 (图像生成)
FAL_API_KEY="your-fal-api-key"
## Google Gemini 配置 (图像生成)
GOOGLE_GENERATIVE_AI_API_KEY="your-google-generative-ai-api-key"
# 可选:自定义 Gemini 协议网关地址(如 https://api.jiekou.ai/gemini/v1 )
# 默认官方地址由 SDK 使用:https://generativelanguage.googleapis.com/v1beta
GOOGLE_GENERATIVE_AI_BASE_URL=""
## 火山引擎视频生成配置
VOLCENGINE_ACCESS_KEY_ID="your-volcengine-access-key-id"
# 可选:自定义火山 API 基础地址,默认 https://ark.cn-beijing.volces.com
# VOLCENGINE_BASE_URL="https://ark.cn-beijing.volces.com"
# 存储配置 (可选)
## 存储提供商选择
STORAGE_PROVIDER="oss" # 可选值: oss, s3, r2, cos
## 阿里云 OSS 配置
## 注意:如果已配置 ALIYUN_ACCESS_KEY_ID/SECRET,则无需重复配置下面两项
## OSS 会自动复用阿里云通用密钥
OSS_REGION="oss-cn-shanghai"
# OSS_ACCESS_KEY_ID="your-oss-access-key-id" # 可选,默认使用 ALIYUN_ACCESS_KEY_ID
# OSS_ACCESS_KEY_SECRET="your-oss-access-key-secret" # 可选,默认使用 ALIYUN_ACCESS_KEY_SECRET
OSS_BUCKET="your-bucket-name"
OSS_ENDPOINT="oss-cn-shanghai.aliyuncs.com" # 可选
## AWS S3 配置
S3_REGION="us-east-1"
S3_ACCESS_KEY_ID="your-s3-access-key-id"
S3_ACCESS_KEY_SECRET="your-s3-access-key-secret"
S3_BUCKET="your-bucket-name"
S3_ENDPOINT="" # 可选:自定义端点(用于 S3 兼容服务)
S3_FORCE_PATH_STYLE="false" # 可选:强制路径样式访问
## Cloudflare R2 配置
# 注意:R2 仍然需要自己独立的访问密钥;不会复用上面的 CLOUDFLARE_API_TOKEN
# 现在推荐直接使用上面的 CLOUDFLARE_ACCOUNT_ID
# 下面这个旧变量仅用于兼容旧配置;新项目通常不需要再单独设置
# R2_ACCOUNT_ID="your-cloudflare-account-id"
R2_ACCESS_KEY_ID="your-r2-access-key-id"
R2_ACCESS_KEY_SECRET="your-r2-access-key-secret"
R2_BUCKET="your-bucket-name"
# Public custom domain for R2 bucket (enables permanent public URLs instead of signed URLs)
# Set up via Cloudflare dashboard: R2 > your bucket > Settings > Public access > Custom domain
# R2_PUBLIC_URL="https://cdn.example.com"
## 腾讯云 COS 配置
## 注意:如果已配置 TENCENT_SECRET_ID/KEY,则无需重复配置下面两项
## COS 会自动复用腾讯云通用密钥
COS_REGION="ap-guangzhou" # 地区,如 ap-guangzhou, ap-shanghai, ap-beijing
# COS_SECRET_ID="your-cos-secret-id" # 可选,默认使用 TENCENT_SECRET_ID
# COS_SECRET_KEY="your-cos-secret-key" # 可选,默认使用 TENCENT_SECRET_KEY
COS_BUCKET="your-bucket-name-appid" # 格式:bucket-appid,如 example-1250000000