Thursday, May 14, 2026

Data Center -- Installing and Configuring AWS S3 alternatives to be S3 services for internal/external use

My intention is to try out several of these tools. No preference yet. Those I expect to try out: Seaweed FS

Seaweed FS

 The installation is trivial. Download the tgz file, unzip it, untar the resulting file wherever you want. 


Then there's the startup command:

AWS_ACCESS_KEY_ID=admin \
AWS_SECRET_ACCESS_KEY=secret \
S3_BUCKET=my-bucket \ 
./weed mini -dir=/data

(-dir=/where/the/data/should/go)

This starts the service with some defaults for a tiny space. 

Make sure that "/data" exists with proper permissions.

I did the install on an HP DL380 Gen 7 with Ubuntu 25 Server. It's not a super-powered machine, but this is just "mini". Will use bigger machine shortly.

This is just for test purposes, you don't want to try to do anything serious/real with "mini". You want to kick the tires. Partly because those are TERRIBLE credentials, and partly because this starts up with a 30GB max space. Kick the tires.

There are multiple web-page interfaces for it:


Obv of course you should use the IP of the server instead of "localhost".

There are some config files to work with on this. The web interface is a lot better at showing you things than it is at letting you change them.

Filer UI is like DropBox in terms of casual file storage in a folder hierarchy. This is the first part I tested. 

Basically I just wanted to see if this did what I was expecting, which it did.

The "Admin/Dashboard" is pretty busy.

To do some REAL work, a REAL system, use "master" instead of "mini": 

./weed master

That's the big one. Also: do this on a machine with a bunch of storage. I am arranging that shortly.

On other machines, you want to also install Seaweed FS, but you will use "volume" instead of "master".

./weed volume -dir="other/machine/file/space/" -max=10 -master="192.168.1.21:9333"



Data Center: configuring NextCloud for HTTPS

 You do want your WAN-facing NextCloud to be using HTTPS, the TLS-based web-service.

NC uses Apache by default, altho you can set it to use NGINX. I have not switched, just going with the NC default install. It is not quite a normal Apache.

First thing you need are some server Certificates. You can create self-signed ones, but they aren't as friendly as web-browsers want.

Lets Encrypt works ok. This article will describe doing that. The only real flaw about LE Certs is that they are only 90 days.

THIS IS UNFINISHED




Apparently you put the certificate files into:

/var/snap/nextcloud/current/certs/custom/

which you will have to create. And then run this:

sudo nextcloud.enable-https custom -s cert.pem privkey.pem chain.pem

with whatever relevant name changes are required.


We will use CERTBOT to do the install after we create them.

sudo apt update

sudo apt upgrade

sudo apt remove certbot

sudo snap install core; sudo snap refresh core

sudo snap install --classic certbot

which certbot

finally:

sudo certbot --nginx

sudo certbot --apache