该项目是对原 PHP 系统的 Next.js 重构版,提供:
复制并修改:
./.env.example 为 ./.env必须配置:
DB_*:MySQL 连接信息可选(未配置会自动生成/推断):
SESSION_PASSWORD:用于 session + 内部加密密钥。
./.data/instance.secret。ALLOWED_ORIGINS:允许的站点来源(逗号分隔)。
NEXT_PUBLIC_SITE_URL:站点 URL(用于生成支付回调/跳转链接)。
npm install npm run dev
访问:http://localhost:3000
复制 docker.env.example 为 docker.env 并修改密码
启动
docker compose up -d --build
服务:
http://localhost:3000localhost:3306localhost:6379数据持久化:
mysql_dataredis_dataapp_data(挂载到 /app/.data)后台 /admin/settings 中可配置:
feature.geetest.enabled / geetest.captcha_id_public / geetest.captcha_id / geetest.captcha_keyfeature.yipay.enabled / yipay.gateway / yipay.pid / yipay.keyfeature.sms.enabled 及阿里云短信参数feature.redis.enabled / redis.url(启用后限流/验证码/下载 token 更稳定)file.upload.allowed_types、file.upload.max_mb、file.retention_days通过 middleware.ts,每次访问会触发一次内部 /api/internal/bootstrap(首次建表)以及 /api/internal/housekeeping(Redis 锁节流),执行:
file.retention_days)并同步 DB audio_file=NULLdownload_records(保留 90 天)admin_audit_logs(保留 90 天)assertSameOrigin).env.*?
.env 通常被 gitignore。Docker 里使用 docker.env(你自己创建)。