System Requirements

There are several processes that make up the Web Portal. Depending on what your use case is, you may not need all of them. Each service communicates over the network, so you could have each service installed on a separate server, all services installed on the same server, or some combination of the two.

The requirements listed here are a basic approximation. If you expect to process a high volume of requests, you may need to allocate more resources to some services.

Summary

Data Services API Web Portal Mailer
Operating System 64-bit Linux or Windows 64-bit Linux or Windows 64-bit Linux or Windows
Memory 128 MB 128 MB 128 MB
CPU 1+ Core 1+ Core 1+ Core
Disk Space 256 MB 512 MB 256 MB

Details

This goes into a little more detail about each component, and any optional or required dependencies.

Data Services API

This service is going to be required in almost all cases. It’s the layer responsible for taking HTTP requests, creating the FIMMAS process to handle the request, and then translating the result back into an HTTP response.

Optional Dependencies
  • Prometheus - The API can expose a Prometheus metrics endpoint. This is disabled by default, but can be turned on in the configuration file. The metrics it exports are:
    • The number of requests processed, grouped by HTTP status code and method
    • A histogram of response times, with configurable buckets

Web Portal

This is MDI’s reference web portal. You can use it as a standalone website, or you can use the Data Services API to build a custom web portal or to integrate FIMMAS data into your existing site. This service is not necessary if you choose to integrate the API calls into your own website/portal.

Optional Dependencies
  • wkhtmltopdf - The web portal uses wkhtmltopdf to generate invoice and application PDF documents. If you aren’t using those functions of the portal, then you can skip this.

Mailer

Mailer is responsible for sending and logging outgoing emails. It doesn’t send emails itself, but acts as a REST interface for your existing SMTP mail server.

Required Dependencies
  • MongoDB - We test with the latest MongoDB Community Server version. The disk space requirements are going to depend on how many emails you send and how large the templates are.
  • SMTP Server(s) - In order to send emails, Mailer needs access to one or more SMTP servers. These are configured through the web GUI after installation.