SeaweedFS Setup
Introduction
SeaweedFS is an Apache-licensed open-source object storage backend with an S3-compatible API. It offers good performance, scalability, and an easy setup process. It can be deployed via Kubernetes, Docker, or directly on Linux, FreeBSD, macOS, or Windows.
This guide explains how to deploy SeaweedFS alongside Relution using Docker Compose on Linux.
While we have thoroughly tested it, SeaweedFS is third-party software and we cannot make security or reliability guarantees for it.
For managed hosting, please contact our Sales Team.
More info: Relution Cloud →
This guide uses SeaweedFS in
minimode, which bundles all components with defaults appropriate for single-node deployments of moderate size.
For more information: SeaweedFS Wiki.
Prerequisites
- A working Relution installation with Docker Compose
- Access to edit your
compose.ymlfile
Step 1: Prepare Your compose.yml
Generate a 24-character alphanumeric password using a password manager, or from the Linux command line:
pwgen -snc 24 1
In your Relution compose.yml (on older installations: docker-compose.yml), add the following service under services::
services:
seaweedfs:
image: chrislusf/seaweedfs:4.05 # Check for newer versions: https://github.com/seaweedfs/seaweedfs/releases
restart: unless-stopped
ports:
- 23646:23646
- 8333:8333
entrypoint: weed
command: "mini -dir=/data/s3 -admin.dataDir=/data/admin -admin.password=%YOUR-GENERATED-PASSWORD%"
networks: # Optional: for network segmentation, add `object-storage` network
- object-storage # here and in the `networks` block of the `relution` service
volumes:
- seaweedfs-s3:/data/s3
- seaweedfs-admin:/data/admin
Add two volumes under the volumes: section:
volumes:
postgresql: {}
seaweedfs-s3: {}
seaweedfs-admin: {}
⚠️ Important: Include the SeaweedFS volumes in your backup routine. Without this data, server operation and device management cannot be ensured.
Step 2: Start SeaweedFS
Pull the image and start the service:
docker compose pull
docker compose up -d seaweedfs
SeaweedFS will be ready within a few seconds.
Step 3: Create User and Bucket
SeaweedFS provides a web UI for administration.
- Navigate to
http://localhost:23646/in your browser - Log in with the password you generated earlier
- In the sidebar, go to Object Store > Users
- Click Create User (top-right), enter
relutionas the username, and confirm - Note down the Access Key and Secret Key shown (you can retrieve them later via the 🔑 icon under Actions)
- In the sidebar, go to Object Store > Buckets
- Click Create Bucket, enter
relutionas the name, selectrelutionas the bucket owner, and confirm
Step 4: Note Your Configuration Values
You’ll need these values to configure Relution:
| Setting | Value |
|---|---|
| Endpoint | http://seaweedfs:8333 |
| Access Key | (from Step 3) |
| Secret Key | (from Step 3) |
| Bucket Name | relution |
Next Steps
Now configure Relution to use your new object storage: