seaweedfs

seaweedfs

apps.detail.types.app from junkerderprovinz's Repository

apps.detail.sections.overview

SeaweedFS is a fast, S3-API-compatible object store - a genuinely maintained, actively developed alternative now that MinIO's open-source Community Edition has been archived (Apr 2026) and its Docker images stopped receiving security updates in Sep 2025. This is a plug-and-play Unraid Community Applications template wrapping the OFFICIAL chrislusf/seaweedfs image. Runs the "mini" single-process mode by default: master, volume, filer, S3 API and admin UI all in one container, all data under one persistent /data mount. This is SeaweedFS's own documented single-node setup, not a cut-down mode - the same binary scales out to a real cluster later by adding volume servers elsewhere if you ever need that. S3 CLIENTS (rclone, mc, aws-cli, restic, most S3 SDKs) point at http://SERVER_IP:8333 with the access key / secret key set below - no other setup needed, a bucket is pre-created if you set one. SECURITY: leaving the Access Key / Secret Key EMPTY starts S3 in unauthenticated "Allow All" mode - fine for a quick local test, not for anything holding real data. Set both before pointing anything real at this. File ownership inside /data is handled automatically by the image's own entrypoint (fixed internal user, chowned on start) - there is no PUID/PGID to set.

SeaweedFS

SeaweedFS for Unraid

Validate  Upstream SeaweedFS  Image  Unraid  License

A plug-and-play Unraid Community Applications template for SeaweedFS - a fast, S3-API-compatible object store, actively maintained (weekly releases), wrapping the official chrislusf/seaweedfs image.


Table of Contents

  1. Why this instead of MinIO?
  2. What is this?
  3. Quick Start on Unraid
  4. Connecting a client
  5. Coming from MinIO
  6. Configuration
  7. Backup

1. Why this instead of MinIO?

MinIO's open-source Community Edition is done: the minio/minio repo was archived in April 2026, its last Docker Hub image (September 2025) has a known unpatched high-severity CVE, and the last source release ever cut (October 2025, source-only, never packaged as an image) was the final one. MinIO now pushes AIStor instead - a free tier exists, but it is closed-source, not a continuation of the open MinIO you used to run.

SeaweedFS is a genuine, actively-developed alternative: Apache-2.0, near-weekly releases, an official multi-arch image actually being maintained, and a documented single-node S3 mode that isn't a cut-down fallback - it's the same binary a real cluster uses, just running every role in one process.

2. What is this?

SeaweedFS's own "mini" mode runs master, volume server, filer, S3 API and admin UI together in a single process, all data under one directory. This template wraps the official image running exactly that mode, with the data directory mapped to Unraid appdata so it survives recreation and updates - nothing more added, nothing hidden.

File ownership inside the data volume is fixed automatically by the image's own entrypoint (a built-in seaweed user, chowned on start) - there's no PUID/PGID to configure.

3. Quick Start on Unraid

  1. Install from Community Applications, or add this template's URL directly: https://raw.githubusercontent.com/junkerderprovinz/unraid-apps/main/seaweedfs/seaweedfs.xml
  2. Set Access Key and Secret Key (see Security note below) - anything reasonably random works, e.g. generate a secret with openssl rand -hex 24.
  3. Optionally set Pre-create Bucket to a name (or comma-separated names) you want to exist immediately.
  4. Start the container. The S3 endpoint is http://SERVER_IP:8333; the admin UI (bucket/volume/topology browser) is at http://SERVER_IP:23646.

Security: leaving both keys empty starts the S3 API in unauthenticated "Allow All" mode. That's fine for a five-minute local test, not for anything you actually care about - set both before storing real data, and don't expose port 8333 to the internet without a reverse proxy and TLS in front of it.

4. Connecting a client

Any S3-compatible tool works. A few common ones:

rclone (rclone config, or a config file entry):

[seaweedfs]
type = s3
provider = Other
access_key_id = YOUR_ACCESS_KEY
secret_access_key = YOUR_SECRET_KEY
endpoint = http://SERVER_IP:8333

MinIO Client (mc) - yes, the CLI tool still works fine against SeaweedFS:

mc alias set seaweedfs http://SERVER_IP:8333 YOUR_ACCESS_KEY YOUR_SECRET_KEY
mc mb seaweedfs/my-bucket
mc cp somefile.txt seaweedfs/my-bucket/

restic (repository URL):

export AWS_ACCESS_KEY_ID=YOUR_ACCESS_KEY
export AWS_SECRET_ACCESS_KEY=YOUR_SECRET_KEY
restic -r s3:http://SERVER_IP:8333/my-restic-repo init

5. Coming from MinIO

There is no automatic import - copy your data across with any S3-to-S3 tool. rclone is the simplest:

rclone config   # add both the old MinIO and this SeaweedFS instance as remotes
rclone sync minio-remote:my-bucket seaweedfs-remote:my-bucket --progress

mc mirror works the same way if you'd rather stay in the MinIO Client tool (it talks to any S3-compatible endpoint, including SeaweedFS, on both sides).

Point whatever was using the old endpoint (backup tools, apps, scripts) at the new http://SERVER_IP:8333 and the new Access/Secret Key once the copy is verified.

6. Configuration

Setting Container Variable Default Notes
S3 API Port (port) 8333 The functional endpoint every client connects to.
Admin UI Port (port) 23646 Browser UI: buckets, volume/cluster status.
Master UI Port (port) 9333 Advanced. Master node status page.
Filer UI Port (port) 8888 Advanced. Browsable file listing (filer view, not S3 buckets).
Data (path) /mnt/user/appdata/seaweedfs/data Everything lives here - volumes, filer metadata, admin config. Must be mapped.
Access Key AWS_ACCESS_KEY_ID (empty) S3 access key. Empty + empty secret = unauthenticated mode.
Secret Key AWS_SECRET_ACCESS_KEY (empty) S3 secret key.
Pre-create Bucket S3_BUCKET (empty) Comma-separated bucket name(s) to create on first start.

7. Backup

Everything lives under the single Data mount (/mnt/user/appdata/seaweedfs/data by default) - back that up the same way you back up any other appdata folder (e.g. with a container-aware backup tool). There's no separate database or config store to remember.


Questions, bugs, ideas? Unraid support thread → (or open a GitHub issue).

apps.marketingCta.appInstallTitle

apps.marketingCta.appInstallDescription

apps.installHelp.stepOpen apps.installHelp.stepSearchApp apps.installHelp.stepReview apps.installHelp.stepInstall

apps.detail.sections.requirements

Set an Access Key + Secret Key below before storing anything real - without them the S3 API runs unauthenticated. See the README for client setup (rclone, mc, restic, ...) and how to move from MinIO.

apps.detail.sections.categories

apps.downloadStats.title

18,967,532
apps.downloadStats.metrics.totalDownloads

apps.detail.sections.details

apps.detail.details.repository
chrislusf/seaweedfs:latest
apps.detail.details.lastUpdated2026-08-13
apps.detail.details.firstSeen2026-08-13

apps.detail.sections.runtime

apps.detail.details.webui
http://[IP]:[PORT:23646]
apps.detail.details.network
bridge
apps.detail.details.shell
sh
apps.detail.details.privileged
false

apps.detail.sections.configuration

S3 API PortPorttcp

The S3-compatible endpoint every client (rclone, mc, aws-cli, restic, ...) connects to. This is the port that matters functionally.

apps.detail.config.target
8333
apps.detail.config.default
8333
apps.detail.config.value
8333
Admin UI PortPorttcp

Browser-based cluster admin UI (buckets, volumes, topology). This is what WebUI opens.

apps.detail.config.target
23646
apps.detail.config.default
23646
apps.detail.config.value
23646
Master UI PortPorttcp

Master node status page (volume/cluster health). Optional to expose, useful for monitoring.

apps.detail.config.target
9333
apps.detail.config.default
9333
apps.detail.config.value
9333
Filer UI PortPorttcp

Browsable file-listing UI over the same data, in filer terms rather than S3 buckets. Optional.

apps.detail.config.target
8888
apps.detail.config.default
8888
apps.detail.config.value
8888
DataPathrw

Where every volume, filer metadata and admin config lives - this MUST be mapped or everything is lost on recreate. The image's entrypoint fixes ownership automatically on start (no PUID/PGID needed).

apps.detail.config.target
/data
apps.detail.config.default
/mnt/user/appdata/seaweedfs/data
apps.detail.config.value
/mnt/user/appdata/seaweedfs/data
Access KeyVariable

S3 access key. Leave BOTH this and Secret Key empty only for a throwaway local test - S3 then runs unauthenticated ('Allow All'). Set both before storing real data.

apps.detail.config.target
AWS_ACCESS_KEY_ID
Secret KeyVariable

S3 secret key, paired with Access Key above. Use a real generated secret (e.g. openssl rand -hex 24), not a short password - this is what protects your data over the network.

apps.detail.config.target
AWS_SECRET_ACCESS_KEY
Pre-create BucketVariable

Optional. Name of a bucket to create automatically on first start (comma-separated for more than one, e.g. backups,media). Leave empty to create buckets yourself later via any S3 client.

apps.detail.config.target
S3_BUCKET