Installation of Forms Add-on
1. Installation of the Forms Add-on#
License installation#
How i-doit is licensed can be found in the article Licensing.
Download and installation of the Forms Add-on#
A detailed description regarding download, installation, updates, etc. can be found in the article i-doit Add-ons.
2. Install MongoDB#
The system requirements for MongoDB can be found here. Furthermore, MongoDB provides a checklist for production deployment.
This guide describes the use of Debian 12 as the operating system and the installation of MongoDB version 8.
If you are using a different operating system, please use the MongoDB installation guide at https://www.mongodb.com/docs/manual/administration/install-community/
First install gnupg via the console:
1 | |
Import the public key for the mongodb-org repository:
1 2 3 | |
Create a sources file for MongoDB:
This repo is only to be used for Debian 12 Bookworm!
1 | |
Update the local package database:
1 | |
Install the latest stable version of MongoDB:
1 | |
Reload the services:
1 | |
So that MongoDB starts at the next system boot:
1 | |
Start MongoDB:
1 | |
3. Install NodeJS#
The installation was last tested with NodeJS v22.14.0 LTS on Debian 12
A manual download is available here. Instructions are also provided there.
For the next step you need cURL:
1 | |
Install NodeJS via package manager. Use the code displayed at https://nodejs.org/en/download:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Install NodeJS:
1 | |
4. Configure the Forms backend#
Navigate to the Forms backend subdirectory within the i-doit installation (the path may vary):
1 | |
Create a copy of the configuration (the Apache user may vary depending on the OS). Example for Debian/Ubuntu:
1 | |
Edit the .env with a text editor such as vi or nano:
1 | |
The FORMS_SECRET must not be empty. The key can consist of alphanumeric and special characters.
A FORMS_SECRET must be set and the file saved.
| Key | Value | Description |
|---|---|---|
| FORMS_SECRET= | 'g87z$t2r346aSd6as%&f52458g724g875!' | Key for encrypting data in the database Must not be empty! Example: FORMS_SECRET='g87z$t2r346aSd6as%&f52458g724g875!' |
| FORMS_PORT= | '3000' | Port for connections Example: FORMS_PORT='3000' |
| FORMS_MONGO_DB_SERVER= | 'mongodb://127.0.0.1:27017/forms' | URL and port for the connection to the MongoDB server Example: FORMS_MONGO_DB_SERVER='mongodb://127.0.0.1:27017/forms' |
Next, create an instance. First set the execution rights for the run.sh:
1 | |
Run the run.sh:
1 | |
Each Forms instance has its own API and receives its own {username} and {API key}. You define these freely -- they have nothing in common with the i-doit API. Note down the credentials during installation, as you will need to enter them later in the Forms add-on configuration within the i-doit interface. Example: sudo ./run.sh instance:create forms1 abD5zfk74dsf4i55FOS32
Set the execution rights for the forms-service.sh:
1 | |
Create the systemd service for the Forms backend. It will be automatically enabled and started:
1 | |
The installation is now complete.
5. Configuration in i-doit#
For the frontend to communicate with the backend, enter the previously used username and API key in the administration under Settings for [tenant-name]. Access these via Administration → [tenant-name] Administration → Settings for [tenant-name] → Forms Add-on.
