Updated Quick Start with weed mini (markdown)

Chris Lu
2026-05-15 10:49:04 -07:00
parent 111a063883
commit dc38e31e81
+49 -48
@@ -1,4 +1,52 @@
# Quick Start with `weed mini`
## Quick Start
Start a ready-to-use S3 object store with credentials and a pre-created bucket in one command:
```bash
AWS_ACCESS_KEY_ID=admin \
AWS_SECRET_ACCESS_KEY=secret \
S3_BUCKET=my-bucket \
weed mini -dir=/data
```
That's it — the S3 endpoint is at http://localhost:8333, `my-bucket` already exists, and `admin`/`secret` are valid credentials. Test it:
```bash
aws --endpoint-url http://localhost:8333 s3 ls s3://my-bucket/
```
The same command also brings up:
- Master UI: http://localhost:9333
- Volume Server: http://localhost:9340
- Filer UI: http://localhost:8888
- WebDAV: http://localhost:7333
- Admin UI: http://localhost:23646
### What each piece does (and how to drop it)
- **`-dir=/data`** — where data lives. Required.
- **`AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY`** — seed initial S3 credentials for the `mini` user. Omit them to start in unauthenticated "Allow All" mode (development only — see [Default S3 Access](#default-s3-access)).
- **`S3_BUCKET=my-bucket`** — pre-create this bucket on first start. Comma-separated list is accepted (`S3_BUCKET=raw,processed`). Idempotent on later starts. Equivalent to `-bucket=my-bucket` on the command line. Omit to skip bucket creation.
- **`S3_TABLE_BUCKET=iceberg-tables`** — same idea but creates an [S3 Tables](S3-Tables.md) (Iceberg) bucket. Comma-separated list also supported. Equivalent to `-tableBucket=iceberg-tables`.
### Custom port
```bash
weed mini -dir=/data -master.port=9444 -s3.port=8334
```
### S3 with Reverse Proxy
If `weed mini` is behind a reverse proxy (e.g. Nginx, Cloudflare Tunnel), use the `-s3.externalUrl` flag to ensure S3 signature verification works correctly:
```bash
# SeaweedFS reachable externally at https://s3.example.com
weed mini -dir=/data -s3.externalUrl=https://s3.example.com
```
For more configuration details, see the **[[S3 Nginx Proxy]]** page.
## Quick Start with `weed mini`
`weed mini` is an all-in-one SeaweedFS command that starts all essential components in a single process with auto-tuned defaults. It is appropriate for development and testing **and** for many single-node and small-cluster production setups — for example, an S3 gateway that issues presigned upload/download URLs.
@@ -50,53 +98,6 @@ Both commands run multiple SeaweedFS components in a single process, but they ta
For a typical single-node S3 setup, `weed mini` is the simpler choice — you get the Admin UI and built-in vacuum/EC/balance maintenance without running extra processes. Choose `weed server` when you want explicit control over which components run, plan to run multiple master peers, or are building a larger cluster from individual `weed master` / `weed volume` / `weed filer` processes.
## Quick Start
Start a ready-to-use S3 object store with credentials and a pre-created bucket in one command:
```bash
AWS_ACCESS_KEY_ID=admin \
AWS_SECRET_ACCESS_KEY=secret \
S3_BUCKET=my-bucket \
weed mini -dir=/data
```
That's it — the S3 endpoint is at http://localhost:8333, `my-bucket` already exists, and `admin`/`secret` are valid credentials. Test it:
```bash
aws --endpoint-url http://localhost:8333 s3 ls s3://my-bucket/
```
The same command also brings up:
- Master UI: http://localhost:9333
- Volume Server: http://localhost:9340
- Filer UI: http://localhost:8888
- WebDAV: http://localhost:7333
- Admin UI: http://localhost:23646
### What each piece does (and how to drop it)
- **`-dir=/data`** — where data lives. Required.
- **`AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY`** — seed initial S3 credentials for the `mini` user. Omit them to start in unauthenticated "Allow All" mode (development only — see [Default S3 Access](#default-s3-access)).
- **`S3_BUCKET=my-bucket`** — pre-create this bucket on first start. Comma-separated list is accepted (`S3_BUCKET=raw,processed`). Idempotent on later starts. Equivalent to `-bucket=my-bucket` on the command line. Omit to skip bucket creation.
- **`S3_TABLE_BUCKET=iceberg-tables`** — same idea but creates an [S3 Tables](S3-Tables.md) (Iceberg) bucket. Comma-separated list also supported. Equivalent to `-tableBucket=iceberg-tables`.
### Custom port
```bash
weed mini -dir=/data -master.port=9444 -s3.port=8334
```
### S3 with Reverse Proxy
If `weed mini` is behind a reverse proxy (e.g. Nginx, Cloudflare Tunnel), use the `-s3.externalUrl` flag to ensure S3 signature verification works correctly:
```bash
# SeaweedFS reachable externally at https://s3.example.com
weed mini -dir=/data -s3.externalUrl=https://s3.example.com
```
For more configuration details, see the **[[S3 Nginx Proxy]]** page.
## Run with Docker