Skip to main content

Prerequisites

Hardware

NiekForm is a relatively light NodeJS application that should be able to run with 1 vCPU and 1GB of RAM. But we recommend more resources for a better experience.

Software

Operating system

This guide will only cover debian based systems like Ubuntu, but NiekForm should work on any system that supports Node.js.

Node.js

NiekForm requires Node.js version 17 or higher. You can check your Node.js version by running the following command:

node --version

If you don't have Node.js installed, you can download it from the Node.js website or use a package manager like nvm

Process manager

We recommend using PM2 to manage your Node.js application. You can check the PM2 documentation to install PM2 on your system.

Database

We recommend using Postgres or MySQL, any other database is not currently tested but should work.

Docker

NiekForm can spawn a Docker container to run a Postgres database. You can check the Docker documentation to install Docker on your system.

Reverse proxy

We recommend using a reverse proxy like Nginx or Apache. This is not required, but it is recommended. Our documentation will only cover a basic nginx configuration.

SSL certificate

We recommend using a certificate from a trusted certificate authority like Let's Encrypt.

CloudFlare also provides free SSL certificates and is a great option for keeping your server secure, but understably some people don't want to use CloudFlare for PCI compliance reasons or similar.

Mail server

We recommend using a service like SendGrid or Mailgun. But NiekForm can support any SMTP server.