Skip to content

上次生成:2026-01-29 12:29:48 UTC 于提交 eb7dd2b74e8e77d0ed8c91a880dc17a3008e9079

配置

本页面列出了所有在 .env 文件中可用的配置选项及其说明。

警告

在生产环境中,请务必更改默认的密钥和密码!

数据库设置

变量名描述类型默认值
MYSQL_HOSTMySQL 服务器地址stringlocalhost
MYSQL_PORTMySQL 服务器端口integer3306
MYSQL_DATABASEMySQL 数据库名称stringosu_api
MYSQL_USERMySQL 用户名stringosu_api
MYSQL_PASSWORDMySQL 密码stringpassword
MYSQL_ROOT_PASSWORDMySQL root 密码stringpassword
REDIS_URLRedis 连接 URLstringredis://127.0.0.1:6379

JWT 设置

变量名描述类型默认值
JWT_SECRET_KEYJWT 签名密钥stringyour_jwt_secret_here
JWT_ALGORITHMJWT 算法stringHS256
ACCESS_TOKEN_EXPIRE_MINUTES访问令牌过期时间(分钟)integer1440
REFRESH_TOKEN_EXPIRE_MINUTES刷新令牌过期时间(分钟)integer21600
JWT_AUDIENCEJWT 受众string5
JWT_ISSUERJWT 签发者string / nullnull

OAuth 设置

变量名描述类型默认值
OSU_CLIENT_IDOAuth 客户端 IDinteger5
OSU_CLIENT_SECRETOAuth 客户端密钥stringFGc9GAtyHzeQDshWP5Ah7dega8hJACAJpQtw6OXk
OSU_WEB_CLIENT_IDWeb OAuth 客户端 IDinteger6
OSU_WEB_CLIENT_SECRETWeb OAuth 客户端密钥stringyour_osu_web_client_secret_here

服务器设置

变量名描述类型默认值
HOST服务器监听地址string0.0.0.0
PORT服务器监听端口integer8000
DEBUG是否启用调试模式booleanfalse
CORS_URLS额外的 CORS 允许的域名列表 (JSON 格式)array[string (url)][]
SERVER_URL服务器 URLstring (url)http://localhost:8000/
FRONTEND_URL前端 URL,当访问从游戏打开的 URL 时会重定向到这个 URL,为空表示不重定向string (url) / nullnull
ENABLE_RATE_LIMIT是否启用速率限制booleantrue

Fetcher 设置

Fetcher 用于从 osu! 官方 API 获取数据,使用 osu! 官方 API 的 OAuth 2.0 认证

变量名描述类型默认值
FETCHER_CLIENT_IDFetcher 客户端 IDstring""
FETCHER_CLIENT_SECRETFetcher 客户端密钥string""

日志设置

变量名描述类型默认值
LOG_LEVEL日志级别stringINFO

验证服务设置

变量名描述类型默认值
ENABLE_TOTP_VERIFICATION是否启用TOTP双因素验证booleantrue
TOTP_ISSUERTOTP 认证器中的发行者名称string / nullnull
TOTP_SERVICE_NAMETOTP 认证器中显示的服务名称stringg0v0! Lazer Server
TOTP_USE_USERNAME_IN_LABEL在TOTP标签中使用用户名而不是邮箱booleantrue
ENABLE_TURNSTILE_VERIFICATION是否启用 Cloudflare Turnstile 验证(仅对非 osu! 客户端)booleanfalse
TURNSTILE_SECRET_KEYCloudflare Turnstile Secret Keystring""
TURNSTILE_DEV_MODETurnstile 开发模式(跳过验证,用于本地开发)booleanfalse
ENABLE_EMAIL_VERIFICATION是否启用邮件验证功能booleanfalse
ENABLE_SESSION_VERIFICATION是否启用会话验证中间件booleantrue
ENABLE_MULTI_DEVICE_LOGIN是否允许多设备同时登录booleantrue
MAX_TOKENS_PER_CLIENT每个用户每个客户端的最大令牌数量integer10
DEVICE_TRUST_DURATION_DAYS设备信任持续天数integer30
EMAIL_PROVIDER邮件发送提供商:smtp(SMTP)或 mailersend(MailerSend)enum(smtp, mailersend)smtp
SMTP_SERVERSMTP 服务器地址stringlocalhost
SMTP_PORTSMTP 服务器端口integer587
SMTP_USERNAMESMTP 用户名string""
SMTP_PASSWORDSMTP 密码string""
FROM_EMAIL发件人邮箱stringnoreply@example.com
FROM_NAME发件人名称stringosu! server
MAILERSEND_API_KEYMailerSend API Keystring""
MAILERSEND_FROM_EMAILMailerSend 发件人邮箱(需要在 MailerSend 中验证)string""

监控设置

配置应用的监控选项,如 Sentry 和 New Relic。

将 newrelic.ini 配置文件放入项目根目录即可自动启用 New Relic 监控。如果配置文件不存在或 newrelic 包未安装,将跳过 New Relic 初始化。

变量名描述类型默认值
SENTRY_DSNSentry DSN,为空不启用 Sentrystring (url) / nullnull
NEW_RELIC_ENVIRONMENTNew Relic 环境标识,设置为 "production" 或 "development"string / nullnull

GeoIP 配置

变量名描述类型默认值
MAXMIND_LICENSE_KEYMaxMind License Key(用于下载离线IP库)string""
GEOIP_DEST_DIRGeoIP 数据库存储目录string./geoip
GEOIP_UPDATE_DAYGeoIP 每周更新的星期几(0=周一,6=周日)integer1
GEOIP_UPDATE_HOURGeoIP 每周更新时间(小时,0-23)integer2

游戏设置

变量名描述类型默认值
ENABLE_RX (ENABLE_RX, ENABLE_OSU_RX)启用 RX mod 统计数据booleanfalse
ENABLE_AP (ENABLE_AP, ENABLE_OSU_AP)启用 AP mod 统计数据booleanfalse
ENABLE_SUPPORTER_FOR_ALL_USERS启用所有新注册用户的支持者状态booleanfalse
ENABLE_ALL_BEATMAP_LEADERBOARD启用所有谱面的排行榜booleanfalse
ENABLE_ALL_BEATMAP_PP允许任何谱面获得 PPbooleanfalse
SEASONAL_BACKGROUNDS季节背景图 URL 列表array[string][]
BEATMAP_TAG_TOP_COUNT显示在结算列表的标签所需的最低票数integer2
OLD_SCORE_PROCESSING_MODE旧成绩处理模式
strict: 删除所有相关的成绩、pp、统计信息、回放
normal: 删除 pp 和排行榜成绩
enum(strict, normal)normal
SCORING_MODE分数计算模式:standardised(标准化)或 classic(经典)enum(standardised, classic)standardised

表现计算设置

配置表现分计算器及其参数。

osu-performance-server (默认)

bash
CALCULATOR="performance_server"
CALCULATOR_CONFIG='{
    "server_url": "http://localhost:5225"
}'

rosu-pp-py

bash
CALCULATOR="rosu"
CALCULATOR_CONFIG='{}'
变量名描述类型默认值
CALCULATOR表现分计算器enum(rosu, performance_server)performance_server
CALCULATOR_CONFIG表现分计算器配置 (JSON 格式),具体配置项请参考上方object[string, any]{"server_url": "http://localhost:5225"}
FALLBACK_NO_CALCULATOR_PP当计算器不支持某个模式时,使用简化的 pp 计算方法作为后备booleanfalse

缓存设置

谱面缓存

变量名描述类型默认值
ENABLE_BEATMAP_PRELOAD启用谱面缓存预加载booleantrue
BEATMAP_CACHE_EXPIRE_HOURS谱面缓存过期时间(小时)integer24
BEATMAPSET_CACHE_EXPIRE_SECONDSBeatmapset 缓存过期时间(秒)integer3600

排行榜缓存

变量名描述类型默认值
ENABLE_RANKING_CACHE启用排行榜缓存booleantrue
RANKING_CACHE_EXPIRE_MINUTES排行榜缓存过期时间(分钟)integer10
RANKING_CACHE_REFRESH_INTERVAL_MINUTES排行榜缓存刷新间隔(分钟)integer10
RANKING_CACHE_MAX_PAGES最多缓存的页数integer20
RANKING_CACHE_TOP_COUNTRIES缓存前N个国家的排行榜integer20

用户缓存

变量名描述类型默认值
ENABLE_USER_CACHE_PRELOAD启用用户缓存预加载booleantrue
USER_CACHE_EXPIRE_SECONDS用户信息缓存过期时间(秒)integer300
USER_SCORES_CACHE_EXPIRE_SECONDS用户成绩缓存过期时间(秒)integer60
USER_BEATMAPSETS_CACHE_EXPIRE_SECONDS用户谱面集缓存过期时间(秒)integer600
USER_CACHE_MAX_PRELOAD_USERS最多预加载的用户数量integer200

资源代理设置

变量名描述类型默认值
ENABLE_ASSET_PROXY启用资源代理booleanfalse
CUSTOM_ASSET_DOMAIN自定义资源域名stringg0v0.top
ASSET_PROXY_PREFIXassets.ppy.sh 的自定义前缀stringassets-ppy
AVATAR_PROXY_PREFIXa.ppy.sh 的自定义前缀stringa-ppy
BEATMAP_PROXY_PREFIXb.ppy.sh 的自定义前缀stringb-ppy

谱面同步设置

变量名描述类型默认值
ENABLE_AUTO_BEATMAP_SYNC启用自动谱面同步booleanfalse
BEATMAP_SYNC_INTERVAL_MINUTES自动谱面同步间隔(分钟)integer60

反作弊设置

变量名描述类型默认值
SUSPICIOUS_SCORE_CHECK启用可疑分数检查(pp>3000)booleantrue
BANNED_NAME禁止使用的用户名列表array[string]["mrekk", "vaxei", "btmc", "cookiezi", "peppy", "saragi", "chocomint"]
ALLOW_DELETE_SCORES允许用户删除自己的成绩booleanfalse
CHECK_RULESET_VERSION检查自定义 ruleset 版本booleantrue
CHECK_CLIENT_VERSION检查客户端版本booleantrue
CLIENT_VERSION_URLS客户端版本列表 URL, 查看 https://github.com/GooGuTeam/g0v0-client-versions 来添加你自己的客户端array[string]["https://raw.githubusercontent.com/GooGuTeam/g0v0-client-versions/main/version_list.json"]

存储服务设置

用于存储回放文件、头像等静态资源。

本地存储 (推荐用于开发环境)

本地存储将文件保存在服务器的本地文件系统中,适合开发和小规模部署。

bash
STORAGE_SERVICE="local"
STORAGE_SETTINGS='{"local_storage_path": "./storage"}'

Cloudflare R2 存储 (推荐用于生产环境)

bash
STORAGE_SERVICE="r2"
STORAGE_SETTINGS='{
  "r2_account_id": "your_cloudflare_account_id",
  "r2_access_key_id": "your_r2_access_key_id",
  "r2_secret_access_key": "your_r2_secret_access_key",
  "r2_bucket_name": "your_bucket_name",
  "r2_public_url_base": "https://your-custom-domain.com"
}'

AWS S3 存储

bash
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"
}'
变量名描述类型默认值
STORAGE_SERVICE存储服务类型:local、r2、s3enum(local, r2, s3)local
STORAGE_SETTINGS存储服务配置 (JSON 格式)LocalStorageSettings / CloudflareR2Settings / AWSS3StorageSettings{"local_storage_path":"./storage"}

旁观服务器设置

变量名描述类型默认值
SAVE_REPLAYS是否保存回放,设置为 1 为启用boolean0
REDIS_HOSTRedis 服务器地址stringlocalhost
SHARED_INTEROP_DOMAINAPI 服务器(即本服务)地址string (url)http://localhost:8000
SERVER_PORT旁观服务器端口integer8006
SP_SENTRY_DSN旁观服务器的 Sentry DSNstringnull
MATCHMAKING_ROOM_ROUNDS匹配对战房间的回合数integer5
MATCHMAKING_ALLOW_SKIP是否允许用户跳过匹配阶段booleanfalse
MATCHMAKING_LOBBY_UPDATE_RATE更新匹配大厅的频率(以秒为单位)integer5
MATCHMAKING_QUEUE_UPDATE_RATE更新匹配队列的频率(以秒为单位)integer1
MATCHMAKING_QUEUE_BAN_DURATION玩家拒绝邀请后暂时禁止进入匹配队列的时间(以秒为单位)integer60
MATCHMAKING_POOL_SIZE每个匹配房间的谱面数量integer50

Released under the MIT License