SeaweedFS Setup
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 mini mode, 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 the
compose.ymlfile
Prepare the compose.yml
Generate a 24-character alphanumeric password using a password manager, or from the Linux command line:
pwgen -snc 24 1
In the 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 -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-data:/data
Add two volumes under the volumes: section:
volumes:
postgresql: {}
seaweedfs-data: {}
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.
Create User and Bucket
SeaweedFS provides a web UI for administration.
- Navigate to
http://localhost:23646/in a browser - Log in with the password 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 (they can be retrieved 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
Note the Configuration Values
These values are needed 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 the new object storage:
Configure Relution for Object Storage β