1. Knowledge Base
  2. App and File Management

Example Local File Share: MinIO

How to host a local file share for on-premise application and file provisioning

Detailed in the 'Pushing Locally Hosted Apps and Files' article, Springmatic can allow for organizations to host their applications and files locally. This helps decrease latency, increase speed of provisioning, and also can help protect security or privacy should organizations have any concern of their internal files being exposed over the Internet. 

Any HTTP/HTTPS file share would suffice, but for the purposes of this example, we detail how to setup a file share using MinIO

MinIO is an independent project separate from Springmatic and is in NO way supported by Springdel. The implementation described is purely for informational and sharing purposes. Again this is just one implementation example of many.

Installation

MinIO can be installed on a variety of platforms. Most users will be using either Linux or Docker. Detailed installation steps are located on their website. 

More information here: https://min.io/docs/minio/kubernetes/upstream/

For testing, the Docker environment is quick and easy to setup, simply run the following command on a host system with Docker (Podman can also follow this for Fedora or Red Hat systems) 

docker run -it --name=miniotest -p 9000:9000 -p 9001:9001 minio/minio server /data --console-address ":9001"

Set up

Once running the MinIO instance, by default, has a default login of User: minioadmin, PWD: minioadmin. 

Log into the web portal using the IP address of the system running MinIO at port 9001. If logging in via the MinIO host system, type localhost:9001 in the browser. 

Login using the above credentials. 

Create a bucket. On the left-hand side click 'Buckets' - 'Create Bucket'. Give it a name and leave the other options unselected. 

Next, click on the newly created bucket. Adjust the access policy from 'Private' to 'Public'.

This step is not necessary but recommended for deploying large fleets. Having the access policy be Public ensures that any files shared to the fleets remain available indefinitely on the network. 

Security concerns and discretion should be exercised, and we are assuming this network is a private network when making these suggestions.

Click on Object Browser, choose the newly created bucket. Here files can be uploaded and shared.

Click 'Upload' - 'Upload File'  or 'Upload Folder' to upload files or whole folders.

Once files are uploaded, they can be shared. Click on the square icon on the left of the file name, and click 'Share' on the right-hand pop-up panel. 

In the pop up, copy the link to get the shareable link to the file. 

IMPORTANT: By default MinIO links are based on the IP addressed used to log into the console. If using the same host where MinIO is installed it will default to the localhost IP address or 127.0.0.1. This is NOT the correct IP address, besure instead to change the IP to that of the host system local IP - usually 192.168.X.XXX or 10.10.X.XXX.

If the bucket's access policy is set to 'Public', only select the first selection up to the '?' in the link. Selecting the entire link will add an expiry to the link. 

Copy this:

Not this:

Copy and paste the link into the Springmatic File system section as described in the File Management documentation. Again be mindful that the IP address is the same as the network where all the managed devices is to ensure they can access shred the App(s) or File(s).

Once complete the App or File should be available by other managed devices in the network.