From dc38e31e813c7d560defefd2145cd706291e8fdf Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Fri, 15 May 2026 10:49:04 -0700 Subject: [PATCH] Updated Quick Start with weed mini (markdown) --- Quick-Start-with-weed-mini.md | 97 ++++++++++++++++++----------------- 1 file changed, 49 insertions(+), 48 deletions(-) diff --git a/Quick-Start-with-weed-mini.md b/Quick-Start-with-weed-mini.md index 4d89363..3b633cc 100644 --- a/Quick-Start-with-weed-mini.md +++ b/Quick-Start-with-weed-mini.md @@ -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