Files
g0v0-server/.env.example
2025-08-22 08:19:12 +08:00

108 lines
3.7 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 数据库设置
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本地存储、r2Cloudflare R2、s3AWS 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"
# }'