Storage UI 的所有服务端配置都来自环境变量。存储凭据只保留在服务端,不会被打包进浏览器代码。
本地开发时,复制示例文件并编辑:
cp .env.example .env.local
部署到托管平台(Vercel、Docker 等)时,在该平台的环境变量设置里配置相同的变量。
应用设置
| 变量 | 默认值 | 说明 |
|---|---|---|
NEXT_PUBLIC_APP_URL | localhost:3000 | 应用的公开访问地址。 |
NEXT_PUBLIC_BASE_PATH | (根路径) | 从子路径提供服务,如 |
NEXT_PUBLIC_ASSET_PREFIX | (无) | 仅当静态资源由独立域名提供时才需要设置。 |
认证
同时设置用户名和密码即可开启内置登录页;任一为空则应用保持开放访问。
AUTH_USERNAME=admin
AUTH_PASSWORD=change-me
AUTH_SECRET=a-long-random-string
| 变量 | 是否必需 | 说明 |
|---|---|---|
AUTH_USERNAME | 登录时必需 | 登录用户名。 |
AUTH_PASSWORD | 登录时必需 | 登录密码。 |
AUTH_SECRET | 推荐 | 用于签名会话 Cookie。不设置时会用密码作为签名密钥,因此改密码会让所有人退出登录。 |
会话有效期为 7 天。
存储连接
每个连接是一组带编号的变量,从 STORAGE_1_* 到 STORAGE_50_*。用户仍可在界面中运行时添加更多连接。
当一个连接的 BUCKET、ACCESS_KEY_ID 和 SECRET_ACCESS_KEY 都已设置后即会加载(部分 provider 还需 REGION 或 ENDPOINT,见下)。
| 变量 | 是否必需 | 说明 |
|---|---|---|
STORAGE_n_BUCKET | 必需 | 存储桶名称。 |
STORAGE_n_ACCESS_KEY_ID | 必需 | Access Key ID(腾讯云 SecretId、B2 keyID)。 |
STORAGE_n_SECRET_ACCESS_KEY | 必需 | Secret Access Key(腾讯云 SecretKey、B2 application key)。 |
STORAGE_n_PROVIDER | 否( | 存储 provider,见下方列表。 |
STORAGE_n_NAME | 否 | 侧边栏显示名称,默认使用桶名。 |
STORAGE_n_REGION | 视 provider |
|
STORAGE_n_ENDPOINT | 视 provider |
|
STORAGE_n_ACCOUNT_ID | 仅 R2 | Cloudflare 账户 ID(R2 据此推导 endpoint)。 |
STORAGE_n_FORCE_PATH_STYLE | 否 | 路径风格寻址。 |
STORAGE_n_PUBLIC_BASE_URL | 否 | 用于文件链接的公开或 CDN 地址。 |
STORAGE_n_READ_ONLY | 否 | 设为 |
支持的 provider:s3、r2、alibaba、tencent、backblaze-b2、minio、s3-compatible。
示例
务必填写真实 region。
STORAGE_1_PROVIDER=s3
STORAGE_1_NAME=Production
STORAGE_1_BUCKET=my-bucket
STORAGE_1_REGION=us-east-1
STORAGE_1_ACCESS_KEY_ID=...
STORAGE_1_SECRET_ACCESS_KEY=...