Server Configuration
[server]host = "127.0.0.1"port = 3000workers = 0temp_dir = ".tmp"upload_temp_dir = ".uploads"start_mode = "primary"
[server.follower]remote_storage_target_local_root = "remote-storage-targets"If data/config.toml was generated automatically, relative paths are resolved to data/ at runtime, such as data/.tmp, data/.uploads, and data/remote-storage-targets.
When to Change It
Section titled “When to Change It”- Container/Docker deployment - Change
hostto0.0.0.0; otherwise the service cannot be reached from outside the container. - Port is occupied - Change
port. - The disk containing temporary directories is small - Move
temp_dirandupload_temp_dirto a larger disk. - Unsure about worker count - Keep
workers = 0and let AsterDrive choose based on CPU. - This instance should run as a follower node - Change
start_modetofollower, and make sureremote_storage_target_local_rootis on a disk with suitable capacity.
Options
Section titled “Options”| Option | Default | Purpose |
|---|---|---|
host | "127.0.0.1" | Listen address. Use 0.0.0.0 for container deployments. |
port | 3000 | HTTP listen port |
workers | 0 | Worker count. 0 = choose automatically based on CPU. |
temp_dir | ".tmp" | General server-side temporary file directory |
upload_temp_dir | ".uploads" | Temporary directory for chunked uploads and upload recovery |
start_mode | "primary" | Node startup role. primary is the normal controller; follower is a remote storage follower node. |
follower.remote_storage_target_local_root | "remote-storage-targets" | Root directory for local remote storage targets managed by the primary on the follower |
Where Temporary Directories Are Used
Section titled “Where Temporary Directories Are Used”temp_dir and upload_temp_dir directly affect local disk usage. They are mainly consumed by:
- Large-file chunked uploads
- Upload recovery/resume
- Temporary assembly for local storage
- A few upload paths that require temporary server-side processing
How to Choose start_mode
Section titled “How to Choose start_mode”The default is primary. Normal deployments, login entry points, the admin console, sharing, WebDAV, and the user file browser are all primary responsibilities.
Change it only when you explicitly want this machine to join as a remote storage follower node:
[server]start_mode = "follower"start_mode is a static startup role. Restart the process after changing it.
A follower is not a second login site. It only provides health checks and internal remote storage APIs. See follower nodes for the complete enrollment flow.
Follower Ingress Root
Section titled “Follower Ingress Root”[server.follower].remote_storage_target_local_root only matters in follower mode.
When the primary creates a local remote storage target in the follower node details, it can only enter a relative path. The follower joins that relative path under remote_storage_target_local_root, so the primary cannot write arbitrary host directories directly.
For example:
[server.follower]remote_storage_target_local_root = "/data/remote-storage-targets"When the primary creates the remote storage target, enter:
base_path = "default"The final write location is:
/data/remote-storage-targets/defaultPlan this directory together with real file capacity. It is not a temporary directory; it stores real objects received by the follower.
Common Examples
Section titled “Common Examples”Local Testing
Section titled “Local Testing”[server]host = "127.0.0.1"port = 3000workers = 0temp_dir = "data/.tmp"upload_temp_dir = "data/.uploads"start_mode = "primary"Docker / Container
Section titled “Docker / Container”[server]host = "0.0.0.0"port = 3000workers = 0temp_dir = "/data/.tmp"upload_temp_dir = "/data/.uploads"start_mode = "primary"Docker Follower
Section titled “Docker Follower”[server]host = "0.0.0.0"port = 3000workers = 0temp_dir = "/data/.tmp"upload_temp_dir = "/data/.uploads"start_mode = "follower"
[server.follower]remote_storage_target_local_root = "/data/remote-storage-targets"Practical Notes
Section titled “Practical Notes”- Most deployments do not need manual
workerstuning. - For long-running deployments, use absolute paths for temporary directories.
- If a reverse proxy is already in front, keep the application listening on an internal port. Do not expose it directly to the public internet.
Environment Variables
Section titled “Environment Variables”ASTER__SERVER__HOST=0.0.0.0ASTER__SERVER__PORT=3000ASTER__SERVER__WORKERS=0ASTER__SERVER__TEMP_DIR=/data/.tmpASTER__SERVER__UPLOAD_TEMP_DIR=/data/.uploadsASTER__SERVER__START_MODE=followerASTER__SERVER__FOLLOWER__REMOTE_STORAGE_TARGET_LOCAL_ROOT=/data/remote-storage-targets