配置项说明
无论是使用 Docker 还是 Docker Compose (.env) 方式部署,均通过环境变量进行配置。
环境变量列表
| 环境变量 | 说明 | 默认值 | 必需 |
|---|---|---|---|
| CFRAME_ADMIN_EMAIL | 初始管理员用户的邮箱 | admin@chronoframe.com | 是 |
| CFRAME_ADMIN_NAME | 初始管理员用户的用户名 | Chronoframe | 否 |
| CFRAME_ADMIN_PASSWORD | 初始管理员用户的密码 | CF1234@! | 否 |
| NUXT_PUBLIC_APP_TITLE | 应用标题 | ChronoFrame | 否 |
| NUXT_PUBLIC_APP_SLOGAN | 应用口号 | 无 | 否 |
| NUXT_PUBLIC_APP_AUTHOR | 应用作者 | 无 | 否 |
| NUXT_PUBLIC_APP_AVATAR_URL | 应用头像 URL | 无 | 否 |
| NUXT_PUBLIC_COLOR_MODE_PREFERENCE | 颜色模式偏好,可选 light、dark、system | system | 否 |
| NUXT_PUBLIC_MAP_PROVIDER | 地图提供者,可选 mapbox、maplibre | maplibre | 否 |
| NUXT_PUBLIC_MAPBOX_ACCESS_TOKEN | Mapbox 访问令牌(可限制 URL),用于地图服务 | 无 | 当 NUXT_PUBLIC_MAP_PROVIDER 为 mapbox 时必需 |
| NUXT_NOMINATIM_BASE_URL | Nominatim 反向地理编码服务的基础 URL | https://nominatim.openstreetmap.org | 否 |
| NUXT_MAPBOX_ACCESS_TOKEN | Mapbox 访问令牌(无 URL 限制),用于位置信息服务 | 无 | 否 |
| NUXT_STORAGE_PROVIDER | 存储提供者,支持 local、s3、openlist | local | 是 |
| NUXT_PROVIDER_LOCAL_PATH | 本地存储路径 | /app/data/storage | 否 |
| NUXT_PROVIDER_LOCAL_BASE_URL | 本地存储的访问 URL | /storage | 否 |
| NUXT_PROVIDER_S3_ENDPOINT | S3 兼容存储服务的 Endpoint | 无 | 当 NUXT_STORAGE_PROVIDER 为 s3 时必需 |
| NUXT_PROVIDER_S3_BUCKET | S3 存储桶名称 | chronoframe | 当 NUXT_STORAGE_PROVIDER 为 s3 时必需 |
| NUXT_PROVIDER_S3_REGION | S3 存储桶区域 | auto | 当 NUXT_STORAGE_PROVIDER 为 s3 时必需 |
| NUXT_PROVIDER_S3_ACCESS_KEY_ID | S3 访问密钥 ID | 无 | 当 NUXT_STORAGE_PROVIDER 为 s3 时必需 |
| NUXT_PROVIDER_S3_SECRET_ACCESS_KEY | S3 访问密钥 | 无 | 当 NUXT_STORAGE_PROVIDER 为 s3 时必需 |
| NUXT_PROVIDER_S3_PREFIX | S3 存储前缀 | photos/ | 否 |
| NUXT_PROVIDER_S3_CDN_URL | S3 存储的 CDN 地址 | 无 | 否 |
| NUXT_PROVIDER_OPENLIST_BASE_URL | OpenList 服务器 URL | 无 | 当 NUXT_STORAGE_PROVIDER 为 openlist 时必需 |
| NUXT_PROVIDER_OPENLIST_ROOT_PATH | OpenList 根路径 | 无 | 当 NUXT_STORAGE_PROVIDER 为 openlist 时必需 |
| NUXT_PROVIDER_OPENLIST_TOKEN | OpenList API 令牌 | 无 | 当 NUXT_STORAGE_PROVIDER 为 openlist 时必需(用于 OpenList 认证) |
| NUXT_PROVIDER_OPENLIST_ENDPOINT_UPLOAD | OpenList 上传端点 | /api/fs/put | 否 |
| NUXT_PROVIDER_OPENLIST_ENDPOINT_DOWNLOAD | OpenList 下载端点 | 无 | 否 |
| NUXT_PROVIDER_OPENLIST_ENDPOINT_LIST | OpenList 列表端点 | 无 | 否 |
| NUXT_PROVIDER_OPENLIST_ENDPOINT_DELETE | OpenList 删除端点 | /api/fs/remove | 否 |
| NUXT_PROVIDER_OPENLIST_ENDPOINT_META | OpenList 元数据端点 | /api/fs/get | 否 |
| NUXT_PROVIDER_OPENLIST_PATH_FIELD | OpenList 路径字段名 | path | 否 |
| NUXT_PROVIDER_OPENLIST_CDN_URL | OpenList CDN 地址 | 无 | 否 |
| NUXT_PUBLIC_OAUTH_GITHUB_ENABLED | 是否启用 GitHub OAuth 登录 | false | 否 |
| NUXT_OAUTH_GITHUB_CLIENT_ID | GitHub OAuth 应用的 Client ID | 无 | 否(可选,用于 GitHub 登录) |
| NUXT_OAUTH_GITHUB_CLIENT_SECRET | GitHub OAuth 应用的 Client Secret | 无 | 否(可选,用于 GitHub 登录) |
| NUXT_SESSION_PASSWORD | 用于加密会话的密码,32 位随机字符串 | 无 | 是 |
| NUXT_PUBLIC_GTAG_ID | Google Analytics 追踪 ID | 无 | 否 |
| NUXT_PUBLIC_ANALYTICS_MATOMO_ENABLED | 是否启用 Matomo 分析追踪 | false | 否 |
| NUXT_PUBLIC_ANALYTICS_MATOMO_URL | Matomo 实例 URL 地址(如: https://matomo.example.com) | 无 | 否(启用 Matomo 时必需) |
| NUXT_PUBLIC_ANALYTICS_MATOMO_SITE_ID | Matomo 站点 ID | 无 | 否(启用 Matomo 时必需) |
| NUXT_UPLOAD_MIME_WHITELIST_ENABLED | 是否启用上传文件 MIME 类型白名单验证 | true | 否 |
| NUXT_UPLOAD_MIME_WHITELIST | 上传文件允许的 MIME 类型列表(逗号分隔) | 见下方说明 | 否 |
| ALLOW_INSECURE_COOKIE | 是否允许非安全 Cookie(仅在开发环境使用) | false | 否 |
上传文件类型白名单
NUXT_UPLOAD_MIME_WHITELIST 的默认值包含以下 MIME 类型:
image/jpeg- JPEG 图片image/png- PNG 图片image/webp- WebP 图片image/gif- GIF 图片image/bmp- BMP 图片image/tiff- TIFF 图片image/heic- HEIC 图片(Apple)image/heif- HEIF 图片video/quicktime- QuickTime 视频(MOV)video/mp4- MP4 视频
如需自定义白名单,请使用逗号分隔的 MIME 类型字符串,例如:
NUXT_UPLOAD_MIME_WHITELIST=image/jpeg,image/png,video/mp4如需禁用白名单验证(允许任何文件类型),可设置:
NUXT_UPLOAD_MIME_WHITELIST_ENABLED=false