In this article, we’ll see how to install SeaweedFS as an S3 object storage solution for BRIX. The article covers installing SeaweedFS in a single-node, single-disk (SNSD) configuration. This configuration does not provide additional reliability or availability beyond that provided by the basic storage volume (RAID, LVM, ZFS, etc.).
Before installation, please review the following information:
- SeaweedFS licensing in the official documentation.
- Supported SeaweedFS versions and other requirements in System requirements for BRIX On-Premises.
- Infrastructure options for running the BRIX system for BRIX On-Premises Standard and BRIX On-Premises Enterprise.
The installation consists of several steps:
- Install Docker and Docker Compose.
- Install SeaweedFS.
- Install the MC Client.
- Start the SeaweedFS service.
- Configure a connection to SeaweedFS.
- Create a bucket.
- Connect to SeaweedFS.
Step 1: Install Docker and Docker Compose
To install SeaweedFS, you will need the following tools:
- Docker. Install according to the instructions for your operating system on the official website.
- Docker Compose. Install according to the instructions for your operating system on the official website.
Step 2: Install SeaweedFS
- Create a directory to mount the disk:
mkdir -p /opt/seaweedfs/data/
- Create a docker-compose.yml file:
version: "3.9"
services:
seaweedfs:
image: chrislusf/seaweedfs:4.06
command: >
server
-ip.bind=0.0.0.0
-s3
-s3.config=/etc/seaweedfs/s3.json
-s3.port=8333
ports:
- "8333:8333"
volumes:
- /opt/seaweedfs/data/:/data
- /opt/seaweedfs/s3.json:/etc/seaweedfs/s3.json:ro
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9333/cluster/status"]
interval: 30s
timeout: 10s
retries: 3
- Create the /opt/seaweedfs/s3.json file:
{
"identities": [
{
"name": "admin",
"credentials": [
{
"accessKey": "elma365user",
"secretKey": "SecretPassword"
}
],
"actions": ["Admin", "Read", "Write"]
}
]
}
Configuring TLS/SSL in SeaweedFS
version: "3.9" |
Step 3: Install the MC Client
Download the latest stable SeaweedFS Client binary and install it on your system:
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
sudo mv mc /usr/local/bin/
Step 4: Start the SeaweedFS service
Run the manifest:
docker-compose -f docker-compose.yml up -d
Step 5: Configure a connection to SeaweedFS
Create an alias for SeaweedFS:
/usr/local/bin/mc alias set seaweedfs http://SeaweedFS.your_domain:8333 elma365user SecretPassword
Step 6: Create a bucket
Important: Bucket names in S3 must follow the format s3elma365*. In the example of this article, the bucket name is s3elma365, the user is elma365user, and the password is SecretPassword. When setting this up, configure this information according to your organization's security policy.
Examples of bucket names: s3elma365; s3elma365-dev; s3elma365-prod.
For BRIX operation create a bucket named s3elma365 using the command:
/usr/local/bin/mc mb -p seaweedfs/s3elma365 --region=eu-central-1
Step 7: Connect to SeaweedFS
Parameters for connecting to SeaweedFS:
- address: seaweedfs.your_domain:8333.
- bucket: s3elma365.
- region: eu-central-1.
- access key ID: elma365user.
- secret access key: SecretPassword.
- upload method: PUT.
- enable SSL: No.
If SeaweedFS is waiting for a TLS/SSL connection, set the enable SSL parameter to Yes.
Found a typo? Select it and press Ctrl+Enter to send us feedback