跳转到内容
AsterDrive开发者
安全更新:Docker 镜像从 v0.4.0-rc.1 起已修复 FFmpeg MagicYUV 解码器漏洞 CVE-2026-8461(高危),使用旧镜像的实例请立即升级。查看 CVE 公告
安全更新:v0.4.0-beta.3 已修复 WebDAV 请求可导致服务进程终止的问题,旧版本实例请尽快升级。查看安全公告

部署模式

[deployment] 声明当前实例采用单实例还是多 primary 集群部署。默认值保持单实例体验:

[deployment]
profile = "single"

可选值:

用途
single默认模式;适合 SQLite、memory cache、本地存储和单 primary reverse tunnel
cluster多 primary 部署;启用共享依赖和拓扑兼容性检查
[deployment]
profile = "cluster"
internal_endpoint = "http://primary-a:3000"
internal_proxy_secret = "replace-with-at-least-32-random-characters"
[database]
url = "postgres://aster:password@postgres/asterdrive"
[cache]
backend = "redis"
endpoint = "redis://redis:6379/0"
[config_sync]
backend = "redis"
endpoint = "redis://redis:6379/0"
topic = "aster_drive.config_reload"

internal_endpoint 必须是当前 primary 可从其他 primary 直接访问、且唯一指向该实例的绝对 http/https URL,不能带 query 或 fragment;不要填写所有实例共用的负载均衡地址。internal_proxy_secret 至少 32 个字符,并且必须在所有 primary 上保持一致。两项都留空表示 direct-only cluster;只配置其中一项会在静态配置检查阶段失败。

cluster profile 会在启动、/health/readyaster_drive doctor 中检查共享数据库、Redis 和存储拓扑。single 和 cluster 的全新数据库都不会自动创建存储策略;创建管理员后都进入 needs_storage,但 cluster 必须在管理端创建所有 Primary 都能访问的共享策略并设为默认。

共享依赖、静态密钥、上传与 SFTP 限制、reverse tunnel owner routing、健康检查、migration 锁、任务 lease 和 Ingress 要求统一见负载均衡与多实例。上传模式的具体选择见上传与大文件

环境变量写法:

Terminal window
ASTER__DEPLOYMENT__PROFILE=cluster

需要在本地复现双 primary 的 reverse tunnel 路由和接管验收时,显式开启测试 feature:

Terminal window
cargo test --features multi-primary-e2e --test multi_primary cluster::reverse_tunnel_ -- --ignored