Local File Storage

When locally deploying Form.io, we recommend Minio for your local file storage. Minio is an open-source distributed object storage server written in Go, designed for Private Cloud infrastructure providing AWS S3 storage functionality. This server is best suited for storing unstructured data and files such as photos and videos within your local environment.

While Minio can be used on the Enterprise level, many customers opt to utilize their provider's storage or other storage methods when deploying to the Cloud or their own On-Premise environment.

If you are using the docker-compose methodology to run Form.io on your local machine, Minio is already included in the deployment, and manual installation is not required.

Installing Minio

To install Minio locally, you must first create a few folders within your local file system to store the files uploaded through the Minio platform. This can be done either through a file browser, or if you are on a Unix-based system with the following commands.

mkdir ~/minio/data
mkdir ~/minio/config

Once these directories are created, you can then launch Minio locally with the following command.

docker run -itd \
  -e "MINIO_ACCESS_KEY=CHANGEME" \
  -e "MINIO_SECRET_KEY=CHANGEME" \
  --network formio \
  --name formio-minio \
  --restart unless-stopped \
  -p 9000:9000 \
  -p 9001:9001 \
  -v ~/minio/data:/data \
  -v ~/minio/config:/root/.minio \
  minio/minio server /data --console-address ":9001"

If you wish for a more secure deployment, then you can exclude the environment variables for MINIO_ACCESS_KEY and MINIO_SECRET_KEY as follows.

docker run -itd \
  --network formio \
  --name formio-minio \
  --restart unless-stopped \
  -p 9000:9000 \
  -p 9001:9001 \
  -v ~/minio/data:/data \
  -v ~/minio/config:/root/.minio \
  minio/minio server /data --console-address ":9001"

You can then determine these keys by running the following docker command.

docker logs formio-minio

Make sure to take note of these keys for later configurations. You are now ready to deploy the Form.io Platform.

Last updated