Minio is a distributed object storage server built for cloud applications and devops. It is Amazon S3 Compatible and thus implements the S3 v4 APIs and comes with their own client SDK, command line tooling and has a minimalist design web interfaces for administration. Furthermore, it is published under the Apache v2.0 license with an active developer community.
Since Cloudron has supported Amazon S3 from the very start, as the only proper backup solution, our community asked for Minio support, to improve the on-premise or pure self-hosting deployment.
Due to the nature of high compatibility with the Amazon S3 API, adding support was straightforwards. Setting your Cloudron up to use Minio as the backup storage is trivial, once you have a running Minio instance.
Minio itself has great documentation to get up and running quickly, either using Docker or plain Linux.
Since it is written in go, running the following commands will spawn a working server in a few seconds:
wget https://dl.minio.io/server/minio/release/linux-amd64/minio chmod +x minio ./minio server ./storage
The server will print all required information, including the URLs to the web interface and login credentials:
You may continue for testing purposes with this setup, however if publicly accessable, your instance should be at least setup with https. Read here for further details.
First thing to use Minio as the backup storage for your Cloudron is to create a bucket. This can be done via the Minio web interface.
Ensure the bucket is setup with read and write permissions:
That's all there is needed on the Minio side. Now head over to your Cloudron's admin interface and go to the backup section of the settings page.
Configure button and simply fill in all the details from your Minio setup.
It should look similar to this:
Upon saving the new configuration, the Cloudron will attempt to upload and then remove a test file, using the provided credentials.
To verify everything works just fine, trigger a new backup using the
Backup now button, which should now appear next to the backup configuration button.
And afterwards refresh the Minio web interface to check if the backups have been correctly stored.