# 数据库设置 MYSQL_HOST="localhost" MYSQL_PORT=3306 MYSQL_DATABASE="osu_api" MYSQL_USER="osu_api" MYSQL_PASSWORD="password" MYSQL_ROOT_PASSWORD="password" # Redis URL REDIS_URL="redis://127.0.0.1:6379/0" # JWT 密钥,使用 openssl rand -hex 32 生成 JWT_SECRET_KEY="your_jwt_secret_here" # JWT 算法 ALGORITHM="HS256" # JWT 过期时间 ACCESS_TOKEN_EXPIRE_MINUTES=1440 # 服务器地址 HOST="0.0.0.0" PORT=8000 # 服务器 URL SERVER_URL="http://localhost:8000" # 额外的 CORS 允许的域名列表 CORS_URLS='[]' # 前端 URL,当访问从游戏打开的 URL 时会重定向到这个 URL,为空表示不重定向 FRONTEND_URL # 调试模式,生产环境请设置为 false DEBUG=false # osu! 登录设置 OSU_CLIENT_ID=5 # lazer client ID OSU_CLIENT_SECRET="FGc9GAtyHzeQDshWP5Ah7dega8hJACAJpQtw6OXk" # lazer client secret OSU_WEB_CLIENT_ID=6 # 网页端 client ID OSU_WEB_CLIENT_SECRET="your_osu_web_client_secret_here" # 网页端 client secret,使用 openssl rand -hex 40 生成 # SignalR 服务器设置 SIGNALR_NEGOTIATE_TIMEOUT=30 SIGNALR_PING_INTERVAL=15 # Fetcher 设置 FETCHER_CLIENT_ID="" FETCHER_CLIENT_SECRET="" FETCHER_SCOPES=public # 日志设置 LOG_LEVEL="INFO" # 邮件服务设置 SMTP_SERVER="smtp.gmail.com" # SMTP 服务器地址 SMTP_PORT=587 # SMTP 端口 SMTP_USERNAME="your-email@gmail.com" # 邮箱用户名 SMTP_PASSWORD="your-app-password" # 邮箱密码或应用专用密码 FROM_EMAIL="noreply@your-server.com" # 发送方邮箱 FROM_NAME="osu! Private Server" # 发送方名称 # 邮件验证功能开关 ENABLE_EMAIL_VERIFICATION=true # 是否启用邮件验证功能(新位置登录时需要邮件验证) ENABLE_EMAIL_SENDING=false # 是否真实发送邮件(false时仅模拟发送,输出到日志) # Sentry 设置,为空表示不启用 SENTRY_DSN # GeoIP 配置 - MaxMind License Key(用于 IP 地址地理位置查询) MAXMIND_LICENSE_KEY="" # GeoIP 数据库存储目录 GEOIP_DEST_DIR="./geoip" # GeoIP 每周更新的星期几(0=周一,6=周日) GEOIP_UPDATE_DAY=1 # GeoIP 每周更新时间(小时,0-23) GEOIP_UPDATE_HOUR=2 # 游戏设置 ENABLE_RX=false # 启用 RX mod 统计数据 ENABLE_AP=false # 启用 AP mod Z统计数据 ENABLE_ALL_MODS_PP=false # 启用所有 Mod 的 PP 计算 ENABLE_SUPPORTER_FOR_ALL_USERS=false # 启用所有新注册用户的支持者状态 ENABLE_ALL_BEATMAP_LEADERBOARD=false # 启用所有谱面的排行榜(没有排行榜的谱面会以 APPROVED 状态返回) ENABLE_ALL_BEATMAP_PP=false # 允许任何谱面获得 PP SUSPICIOUS_SCORE_CHECK=true # 是否检查可疑的分数,默认开启 SEASONAL_BACKGROUNDS='[]' # 季节背景图 URL 列表 BANNED_NAME='["mrekk", "vaxei", "btmc", "cookiezi", "peppy", "saragi", "chocomint"]' # 禁止使用的用户名列表 # 存储服务设置 # 支持的存储类型:local(本地存储)、r2(Cloudflare R2)、s3(AWS S3) STORAGE_SERVICE="local" # 存储服务配置 (JSON 格式) # 本地存储配置(当 STORAGE_SERVICE=local 时) STORAGE_SETTINGS='{"local_storage_path": "./storage"}' # Cloudflare R2 存储配置(当 STORAGE_SERVICE=r2 时) # STORAGE_SETTINGS='{ # "r2_account_id": "your_cloudflare_r2_account_id", # "r2_access_key_id": "your_r2_access_key_id", # "r2_secret_access_key": "your_r2_secret_access_key", # "r2_bucket_name": "your_r2_bucket_name", # "r2_public_url_base": "https://your-custom-domain.com" # }' # AWS S3 存储配置(当 STORAGE_SERVICE=s3 时) # STORAGE_SETTINGS='{ # "s3_access_key_id": "your_aws_access_key_id", # "s3_secret_access_key": "your_aws_secret_access_key", # "s3_bucket_name": "your_s3_bucket_name", # "s3_region_name": "us-east-1", # "s3_public_url_base": "https://your-custom-domain.com" # }'