4.4 KiB
4.4 KiB
TrailBase
TrailBase 是一个开源的单可执行后端,提供 type-safe REST 与实时 API、内置管理界面、WebAssembly 运行时以及身份认证功能,底层由 Rust、SQLite 与 Wasmtime 驱动。 本配置使用官方 Docker 镜像并提供合理的默认值,方便你立即访问管理后台、定义数据模型并在本地体验 TrailBase。
服务
trailbase:包含管理后台、REST API 以及实时通道的核心服务。
快速开始
-
复制示例环境文件并按需修改:
cp .env.example .env -
启动服务:
docker compose up -d -
首次启动会在日志中输出自动生成的管理员账号,使用以下命令查看:
docker compose logs -f trailbase -
打开
http://localhost:4000/_/admin,使用日志中的凭据登录(或按照下文创建新的管理员)。
默认访问入口
| 入口 | 说明 |
|---|---|
http://localhost:4000/_/admin |
管理界面 |
http://localhost:4000/api/healthcheck |
健康检查端点 |
http://localhost:4000/_/auth/login |
可选的 Auth UI 入口 |
环境变量
| 变量名 | 描述 | 默认值 |
|---|---|---|
TRAILBASE_VERSION |
Docker 镜像标签 | 0.22.4 |
TRAILBASE_PORT_OVERRIDE |
暴露到宿主机的端口(容器端口 4000) | 4000 |
TRAILBASE_RUST_BACKTRACE |
是否输出 Rust 堆栈,便于排障 | 1 |
TRAILBASE_LOG_MAX_SIZE |
json-file 日志的最大文件大小 |
100m |
TRAILBASE_LOG_MAX_FILE |
日志轮转时保留的文件数量 | 3 |
TRAILBASE_CPU_LIMIT |
CPU 限制(deploy.resources) |
1.0 |
TRAILBASE_MEMORY_LIMIT |
内存限制 | 1G |
TRAILBASE_CPU_RESERVATION |
CPU 预留 | 0.25 |
TRAILBASE_MEMORY_RESERVATION |
内存预留 | 256M |
TZ |
容器时区 | UTC |
完整说明请参考 .env.example。
数据卷
trailbase_data:对应容器内的traildepot,保存 SQLite 数据库、WASM 组件、认证密钥及上传的静态资源。升级或迁移前务必备份该卷。
初始化与管理员账号
-
首次启动后,TrailBase 会在日志中打印一次性管理员账号与密码。请立即登录并修改。
-
也可以直接在容器内创建新的已验证用户:
docker compose exec trailbase /app/trail user add admin@example.com "StrongPassw0rd!" -
使用同一个
trailCLI 可以重置密码、导入导出数据等,不需要重启服务。
可选组件
-
镜像已经预置官方 Auth UI WASM 组件,若需要其他组件,可在运行中安装:
docker compose exec trailbase /app/trail components add trailbase/auth_ui docker compose exec trailbase /app/trail components add your-org/your-component -
如果希望通过 Git 管理组件或静态资源,可以将本地目录挂载到
trailbase_data。
健康检查与维护
-
默认健康检查请求
http://localhost:4000/api/healthcheck,也可以手动使用curl进行验证。 -
备份流程示例:
docker compose stop trailbase docker run --rm -v compose-anything_trailbase_data:/data -v $(pwd):/backup alpine tar czf /backup/trailbase-backup.tar.gz -C /data . docker compose start trailbase -
恢复时将备份解压回同名数据卷即可。
安全提示
- 启动后立即更换默认管理员凭据,并在防火墙或反向代理层限制 4000 端口的访问。
- 生产环境建议将
TRAILBASE_RUST_BACKTRACE设置为0,避免日志泄露系统细节。 - 配合 Caddy、nginx 或 Traefik 等反向代理启用 TLS,必要时再开启 WAF、IP 白名单等防护。
- 升级新版本前务必备份
trailbase_data数据卷。
参考资料
- 官网:https://trailbase.io
- 仓库:https://github.com/trailbaseio/trailbase
- 文档:https://trailbase.io/reference
- 许可证:Open Software License 3.0(OSL-3.0)