163 lines
6.3 KiB
Bash
163 lines
6.3 KiB
Bash
# 统一环境变量配置模板(根目录 .env.example)
|
||
# 使用方法:复制到 .env 并填写实际值
|
||
# 警告:切勿将包含真实密钥的 .env 提交到代码仓库
|
||
# 命名规则:前缀 SOCIAL_,层级分隔符 __(例如 SOCIAL_INFRA__POSTGRES__PASSWORD)
|
||
|
||
############
|
||
# 运行时配置(API 后端使用)
|
||
############
|
||
# 运行环境:dev(开发)、test(测试)、prod(生产)
|
||
SOCIAL_RUNTIME__ENVIRONMENT=dev
|
||
# 调试模式:true 开启详细日志和错误堆栈,false 生产环境建议关闭
|
||
SOCIAL_RUNTIME__DEBUG=true
|
||
# 日志级别:DEBUG、INFO、WARNING、ERROR、CRITICAL
|
||
SOCIAL_RUNTIME__LOG_LEVEL=INFO
|
||
# 是否记录 SQL 查询日志:开发调试时可开启,生产环境建议关闭
|
||
SOCIAL_RUNTIME__SQL_LOG_QUERIES=false
|
||
|
||
############
|
||
# 应用配置(API 后端使用)
|
||
############
|
||
# API 服务监听地址:0.0.0.0 表示所有网络接口,本地开发可用 127.0.0.1
|
||
SOCIAL_APP__HOST=0.0.0.0
|
||
# API 服务监听端口
|
||
SOCIAL_APP__PORT=8000
|
||
# 是否启用代码热重载:开发环境 true,生产环境 false
|
||
SOCIAL_APP__RELOAD=true
|
||
|
||
############
|
||
# 基础设施密钥(Docker 服务使用)
|
||
############
|
||
# PostgreSQL 数据库超级用户密码:生产环境必须更换强密码
|
||
SOCIAL_INFRA__POSTGRES__PASSWORD=CHANGE_ME
|
||
# JWT 签名密钥(Supabase 认证服务使用):生产环境必须更换
|
||
SOCIAL_INFRA__JWT__SECRET=CHANGE_ME
|
||
# Supabase 匿名访问密钥:用于前端匿名访问 API
|
||
SOCIAL_INFRA__SUPABASE__ANON_KEY=CHANGE_ME
|
||
# Supabase 服务角色密钥:拥有完全权限,仅后端服务使用,切勿泄露
|
||
SOCIAL_INFRA__SUPABASE__SERVICE_ROLE_KEY=CHANGE_ME
|
||
# Supabase 管理后台用户名
|
||
SOCIAL_INFRA__DASHBOARD__USERNAME=supabase
|
||
# Supabase 管理后台密码
|
||
SOCIAL_INFRA__DASHBOARD__PASSWORD=CHANGE_ME
|
||
# Supabase 数据库连接池加密密钥
|
||
SOCIAL_INFRA__SUPAVISOR__SECRET_KEY_BASE=CHANGE_ME
|
||
# Supabase Vault 加密密钥
|
||
SOCIAL_INFRA__SUPAVISOR__VAULT_ENC_KEY=CHANGE_ME
|
||
# Supabase Postgres Meta 加密密钥
|
||
SOCIAL_INFRA__PG_META__CRYPTO_KEY=CHANGE_ME
|
||
# Logflare 公共访问令牌
|
||
SOCIAL_INFRA__LOGFLARE__PUBLIC_ACCESS_TOKEN=CHANGE_ME
|
||
# Logflare 私有访问令牌
|
||
SOCIAL_INFRA__LOGFLARE__PRIVATE_ACCESS_TOKEN=CHANGE_ME
|
||
|
||
############
|
||
# 基础设施数据库配置(Docker 服务使用)
|
||
############
|
||
# PostgreSQL 容器内主机名:Docker 内部使用
|
||
SOCIAL_INFRA__POSTGRES__HOST=db
|
||
# 数据库名称:与初始化脚本保持一致
|
||
SOCIAL_INFRA__POSTGRES__DB=linksy
|
||
# PostgreSQL 容器内端口
|
||
SOCIAL_INFRA__POSTGRES__PORT=54322
|
||
|
||
############
|
||
# Supavisor 数据库连接池配置(Docker 服务使用)
|
||
############
|
||
# 连接池代理端口(事务模式)
|
||
SOCIAL_INFRA__POOLER__PROXY_PORT_TRANSACTION=6543
|
||
# 每个数据库连接池的默认大小
|
||
SOCIAL_INFRA__POOLER__DEFAULT_POOL_SIZE=20
|
||
# 连接池最大客户端连接数
|
||
SOCIAL_INFRA__POOLER__MAX_CLIENT_CONN=100
|
||
# 连接池租户 ID
|
||
SOCIAL_INFRA__POOLER__TENANT_ID=local-tenant
|
||
# 每个数据库的连接池大小
|
||
SOCIAL_INFRA__POOLER__DB_POOL_SIZE=5
|
||
|
||
############
|
||
# API 网关 Kong 配置(Docker 服务使用)
|
||
############
|
||
# Kong HTTP 端口映射到宿主机的端口
|
||
SOCIAL_INFRA__KONG__HTTP_PORT=8001
|
||
# Kong HTTPS 端口映射到宿主机的端口
|
||
SOCIAL_INFRA__KONG__HTTPS_PORT=8443
|
||
|
||
############
|
||
# PostgREST API 配置(Docker 服务使用)
|
||
############
|
||
# PostgREST 暴露的数据库模式列表,逗号分隔
|
||
SOCIAL_INFRA__PGRST__DB_SCHEMAS=public,storage,graphql_public
|
||
|
||
############
|
||
# 认证服务 GoTrue 配置(Docker 服务使用)
|
||
############
|
||
# 站点 URL:用于生成回调链接等,通常为前端地址
|
||
SOCIAL_INFRA__SITE__URL=http://localhost:3000
|
||
# 允许的重定向 URL 列表,逗号分隔
|
||
SOCIAL_INFRA__ADDITIONAL_REDIRECT_URLS=
|
||
# JWT 过期时间(秒)
|
||
SOCIAL_INFRA__JWT__EXPIRY=3600
|
||
# 是否禁用用户注册:true 禁止,false 允许
|
||
SOCIAL_INFRA__AUTH__DISABLE_SIGNUP=false
|
||
# API 外部访问 URL:用于 Kong 网关对外暴露的地址
|
||
SOCIAL_INFRA__API_EXTERNAL_URL=http://localhost:8001
|
||
############
|
||
# Supabase 公共访问 URL:用于前端/SDK/Studio 访问(可与 API 外部地址不同)
|
||
# 反向代理场景请填代理后的公网地址
|
||
SOCIAL_INFRA__SUPABASE__PUBLIC_URL=http://localhost:8001
|
||
# 邮箱验证链接路径
|
||
SOCIAL_INFRA__MAILER__URLPATHS_CONFIRMATION="/auth/v1/verify"
|
||
# 邮箱邀请链接路径
|
||
SOCIAL_INFRA__MAILER__URLPATHS_INVITE="/auth/v1/verify"
|
||
# 邮箱找回密码链接路径
|
||
SOCIAL_INFRA__MAILER__URLPATHS_RECOVERY="/auth/v1/verify"
|
||
# 邮箱变更确认链接路径
|
||
SOCIAL_INFRA__MAILER__URLPATHS_EMAIL_CHANGE="/auth/v1/verify"
|
||
# 是否启用邮箱注册:true 启用,false 禁用
|
||
SOCIAL_INFRA__EMAIL__ENABLE_SIGNUP=true
|
||
# 是否自动确认邮箱:true 注册后自动登录,false 需要验证邮箱
|
||
SOCIAL_INFRA__EMAIL__ENABLE_AUTOCONFIRM=false
|
||
# 管理员邮箱地址:用于发送系统通知等
|
||
SOCIAL_INFRA__SMTP__ADMIN_EMAIL=admin@example.com
|
||
# SMTP 服务器主机地址
|
||
SOCIAL_INFRA__SMTP__HOST=supabase-mail
|
||
# SMTP 服务器端口:25(不加密)、465(SSL)、587(TLS)
|
||
SOCIAL_INFRA__SMTP__PORT=2500
|
||
# SMTP 用户名
|
||
SOCIAL_INFRA__SMTP__USER=fake_mail_user
|
||
# SMTP 密码
|
||
SOCIAL_INFRA__SMTP__PASS=fake_mail_password
|
||
# 发件人显示名称
|
||
SOCIAL_INFRA__SMTP__SENDER_NAME=fake_sender
|
||
# 是否允许匿名用户访问:true 允许,false 禁止
|
||
SOCIAL_INFRA__AUTH__ENABLE_ANONYMOUS_USERS=false
|
||
# 是否启用手机号注册:true 启用,false 禁用
|
||
SOCIAL_INFRA__AUTH__ENABLE_PHONE_SIGNUP=true
|
||
# 是否自动确认手机号:true 自动验证,false 需要短信验证码
|
||
SOCIAL_INFRA__AUTH__ENABLE_PHONE_AUTOCONFIRM=true
|
||
|
||
############
|
||
# Supabase Studio 配置(Docker 服务使用)
|
||
############
|
||
# 默认组织名称
|
||
SOCIAL_INFRA__STUDIO__DEFAULT_ORGANIZATION=Default Organization
|
||
# 默认项目名称
|
||
SOCIAL_INFRA__STUDIO__DEFAULT_PROJECT=Default Project
|
||
# 是否启用 WebP 图片格式检测:true 启用自动转换,false 禁用
|
||
SOCIAL_INFRA__IMGPROXY__ENABLE_WEBP_DETECTION=true
|
||
# OpenAI API 密钥:用于 Supabase AI 功能
|
||
SOCIAL_INFRA__OPENAI__API_KEY=
|
||
|
||
############
|
||
# Edge Functions 配置(Docker 服务使用)
|
||
############
|
||
# 是否验证 JWT:true 验证,false 不验证
|
||
SOCIAL_INFRA__FUNCTIONS__VERIFY_JWT=false
|
||
|
||
############
|
||
# 日志与分析配置(Docker 服务使用)
|
||
############
|
||
# Docker Socket 路径:用于容器日志收集
|
||
SOCIAL_INFRA__DOCKER__SOCKET_LOCATION=/var/run/docker.sock
|