Links

Local Deployment

Docker Compose Local Deployment

In order to run Form.io Enterprise Platform locally, you can use the code @ https://github.com/formio/docker-compose.
Once you navigate to this URL, you can download the ZIP package by clicking on Code and then select ZIP.
Once this ZIP file is in your local folder, you will unzip the file into a folder, and then you will navigate into this folder.
Within the folder, you will need to edit the .env file and change the following line.
LICENSE_KEY=YOURLICENSE
You will need to make sure you change this to be your Enterprise License. If you do not have a license, then send an email to [email protected] to inquire about a temporary license.
After you have done this, you will then run the following command.
docker-compose up --detach
This will start the Form.io platform, where you can then go to the following URL's in your browser:
The default admin login is as follows.

Configuring

Once you have a project, you can configure the PDF server by navigating to the Project Settings, and then change the PDF Server URL configuration to the following.
http://lvh.me/pdf
All MongoDB data as well as PDF files are stored within the local data directory which is part of the folder.

Kubernetes Local Deployment

The below video is a guided walkthrough on how to deploy Form.io Enterprise in a local Kubernetes enabled environment from Docker Desktop. The video tutorial assumes you already have your own MongoDB instance running (we use Mongo Atlas for our demo), and AWS S3 Storage Bucket for file uploads.
Walkthrough on how to deploy Form.io Enterprise on Kubernetes enabled Docker Desktop
The zip folder below contains Kubernetes configurations for deploying to Docker Desktop. The zip could just as easily be deployed on a cloud provider of your choosing with minimal changes to the configurations.
formio-k8s.zip
7KB
Binary

Prerequisites

In order to continue with the Local Kubernetes Deployment on Docker Desktop will we need a few libraries installed in our terminal to get started.
  • Selected "Enable Kubernetes" under the Docker Desktop settings.
  • Installation of kubectl in your terminal application.
  • Authenticate against your Docker Desktop Kubernetes Control Plane.
  • Installation of Helm in your terminal application.
  • After installing Helm you'll want to use it to install the Nginx Ingress Controller on to the cluster. The command displayed in the link should be all you need to achieve this.
  • OPTIONAL: If you'd like to test out the HPA configuration you'll need to install Metrics Server Repository in order for the HPA configuration to be able to monitor the pods CPU and Memory usage.

Configuration

Once you have the above prerequisites taken care of as well as downloaded the formio-k8s.zip to a easily accessible path, extracted the files in your terminal application we will begin by copying the .example.env to .env by running the below command from the project root.
cp .example.env .env
Once we've copied the contents of .example.env to .env we can begin to edit our environment variables. This is where you will add your LICENSE_KEY as well as configure AWS S3 Bucket credentials for file uploads. When all of the above has been completed such as downloading & extracting the files from formio-k8s.zip to an accessible path, have installed the required Kubernetes CLI libraries, installed the Nginx Ingress Controller on to your cluster, and updated environment variables for your deployment you are ready to run the following command from project root.
bash scripts/upgrade.sh
This script above is designed to fail and rollback the deployment if any errors occur in the process. If this occurs check the debug output, make alterations and run the script again.