# ═══════════════════════════════════════════════════════════════════ # Orion Key 生产环境变量模板 # ═══════════════════════════════════════════════════════════════════ # # 使用方法: # 1. 复制此文件到服务器:scp .env.example user@server:/opt/orion-key/.env # 2. 编辑 /opt/orion-key/.env,将所有 <...> 占位符替换为真实值 # 3. 此文件可以安全提交到 Git(不含真实密钥) # # 本文件同时用于: # - Docker Compose YAML 变量引用(如 image: ${API_IMAGE}) # - env_file 注入到 api 容器内(Spring Boot 读取 ${DB_URL} 等) # # ═══════════════════════════════════════════════════════════════════ # ── 镜像标签 ────────────────────────────────────────────────────── # CI/CD 每次部署会自动更新这两行,无需手动设置。 # 首次部署前可以留空或注释掉。 # API_IMAGE=ghcr.io//orion-key-api:latest # WEB_IMAGE=ghcr.io//orion-key-web:latest # ── 数据库 ──────────────────────────────────────────────────────── # 必须修改:替换为你的 PostgreSQL 连接信息 # # 示例: # DB_URL=jdbc:postgresql://db.example.com:5432/orionkey # DB_USERNAME=orion # DB_PASSWORD=MyStr0ngP@ssw0rd # DB_URL=jdbc:postgresql://:5432/ DB_USERNAME= DB_PASSWORD= # ── JWT 密钥 ────────────────────────────────────────────────────── # 必须修改:用于签发和验证用户登录 Token 的对称加密密钥 # # 生成方法(在服务器上执行): # openssl rand -base64 48 # # 安全要求: # - 至少 64 字符的随机字符串 # - 开发环境和生产环境 必须使用不同的密钥 # - 泄露此密钥 = 所有用户登录 Token 可被伪造(包括管理员) # JWT_SECRET=<用 openssl rand -base64 48 生成并粘贴到这里> # ── 密码存储模式 ────────────────────────────────────────────────── # true = 明文存储密码(仅开发调试用) # false = BCrypt 哈希加密存储(生产标准) PASSWORD_PLAIN=true # ── 文件上传路径 ────────────────────────────────────────────────── # 无需修改(容器内路径,与 docker-compose.yml 的 volumes 挂载对应) UPLOAD_PATH=/app/uploads # ── 邮件 SMTP(可选,配置后启用发货邮件通知)── # 用途:订单发货成功后,自动将卡密信息发送到买家邮箱 # 配置说明: # 1. 在邮箱服务商后台获取 SMTP 密码/授权码 # 2. 将下方 MAIL_ENABLED 改为 true,填入邮箱账号和密码 # 3. 未配置时默认关闭(MAIL_ENABLED=false),不影响发货流程 # 如需更换服务商(如 QQ 邮箱、腾讯企业邮),修改 MAIL_HOST 和 MAIL_PORT 即可 MAIL_ENABLED=true MAIL_HOST= MAIL_PORT= MAIL_USERNAME= MAIL_PASSWORD= MAIL_SITE_URL= # ── Turnstile 人机验证(推荐)────────────────────────────────── # 用途:对下单、登录、注册等敏感接口进行无感人机验证,防御脚本攻击 # 获取方式:Cloudflare Dashboard → Turnstile → Add site # 不配置时自动降级:后端跳过人机验证,设备指纹限流仍生效 TURNSTILE_SECRET_KEY= TURNSTILE_SITE_KEY= # ── 镜像标签 ── # 默认拉公开发布的最新版本;生产环境建议固定具体版本号(如 :v1.0.0)便于回滚 # CI/CD 部署时会自动覆盖为本次构建的具体 sha tag API_IMAGE=ghcr.io/rivenlau/orion-key-api:latest WEB_IMAGE=ghcr.io/rivenlau/orion-key-web:latest