配置说明

Kite 采用「少量环境变量 + 数据库运行时配置」的双层配置体系。

Kite 的配置体系分为两层:

  • 启动期(环境变量):进程启动所必需的最小配置,如监听地址、数据库连接。
  • 运行期(数据库 settings 表):站点名称、上传限制、认证策略等可通过后台修改。

首次启动的 Web 向导会把必要的运行期配置写入 settings 表,后续可在「管理后台 → 系统设置」中随时修改。

环境变量

变量默认值说明
KITE_HOST0.0.0.0HTTP 监听地址
KITE_PORT8080HTTP 监听端口
KITE_DB_DRIVERsqlite数据库驱动:sqlite / mysql / postgres
KITE_DSNdata/kite.db数据库连接串(格式随驱动不同)
KITE_SITE_URLhttp://localhost:8080站点外部 URL,用于生成绝对链接
GIN_MODEdebugGin 运行模式,生产环境建议 release
TZ系统容器内时区,如 Asia/Shanghai

数据库 DSN 示例

SQLite

BASH
KITE_DB_DRIVER=sqlite
KITE_DSN=/app/data/kite.db

MySQL

BASH
KITE_DB_DRIVER=mysql
KITE_DSN="user:pass@tcp(127.0.0.1:3306)/kite?charset=utf8mb4&parseTime=True&loc=Local"

PostgreSQL

BASH
KITE_DB_DRIVER=postgres
KITE_DSN="host=127.0.0.1 user=postgres password=pass dbname=kite port=5432 sslmode=disable"

运行时配置

以下配置项存储在 settings 表,通过环境变量设置,而是通过后台或 API 修改。

站点

Key类型默认说明
site_namestringKite站点名称,用于页面标题
site_urlstring站点 URL(生成绝对链接时使用)

上传

Key类型默认说明
max_file_sizeint104857600单文件最大字节数(100 MB)
allowed_typesstring允许的 MIME 前缀,如 ["image/", "video/"],空表示不限
forbidden_extsstring[.exe,.bat,.cmd,.sh,.ps1]禁止的扩展名
auto_webpboolfalse图片是否自动转为 WebP
thumb_widthint300缩略图宽度(像素)
thumb_qualityint80缩略图质量(1-100)
path_patternstring{year}/{month}/{md5_8}/{uuid}.{ext}存储路径模板
allow_duplicateboolfalse是否允许相同 MD5 的重复文件

认证

Key类型默认说明
jwt_secretstring自动生成JWT 签名密钥(32 字节随机 hex)
allow_registrationbooltrue是否允许用户自助注册

公开能力

Key类型默认说明
allow_guest_uploadboolfalse是否允许游客(未登录)上传
allow_public_galleryboolfalse是否开启探索广场
建议

开启 allow_guest_upload 前务必确认已配置好速率限制存储配额,避免被滥用。游客上传接口的速率限制为每分钟 10 次(IP 维度)。

路径模板语法

path_pattern 用于决定文件在存储后端中的 key 结构,支持以下占位符:

占位符含义示例
{year}年份2026
{month}月份(补零)04
{day}日期(补零)17
{md5_8}MD5 前 8 位a1b2c3d4
{md5}完整 MD5a1b2…32 位
{uuid}随机 UUIDf7c…
{ext}文件扩展名(不含点)jpg

默认模板 {year}/{month}/{md5_8}/{uuid}.{ext} 能很好地平衡目录均衡分布与可读性。

默认账号与 JWT 密钥

  • 默认管理员admin/admin)仅在用户表为空时创建。手动删除后不会重建。
  • JWT 密钥仅在 settings.jwt_secret 不存在时生成;生产环境可通过管理后台轮换。
注意

不要在多实例部署中各自生成密钥。若多实例共享数据库,首个启动的实例写入密钥后,其他实例会自动加载同一密钥。

下一步