# Manually installing FM¶

## Requirements¶

### EC2 instance¶

FM must be installed on a Linux EC2 instance.

A minimum of 4 GB of RAM is required. No CPU minimum is required.

The following Linux distributions are supported:

• Red Hat Enterprise Linux, version 7.3 and later 7.x

• Red Hat Enterprise Linux, versions 8.x

• CentOS, version 7.3 and later 7.x

• CentOS, versions 8.x

These distributions should be up-to-date with respect to Linux patches and updates.

Note

Running on a system with Security-Enhanced Linux (SELinux) in enforcing mode is not supported.

### Other system requirements¶

The en_US.utf8 locale must be installed.

The filesystem on which FM is installed must be POSIX compliant, case-sensitive, support POSIX file locks and symbolic links.

### Unix user¶

FM runs as a single Unix user. FM does not run as root. We recommend dedicating a UNIX user for FM. In the rest of this documentation, this will be refered to as the fmuser.

Root access is not strictly required, but you might need it to install dependencies. If you want to start FM at machine boot time, root access is required.

### Network requirements¶

The EC2 instance on which FM is installed must be running in EC2-VPC. FM must be able to reach EC2, KMS, STS and SecretsManager endpoints. This can be achieved either by allowing traffic to public endpoints (through Internet Gateway, Egress Gateway or NAT Gateway), or with private endpoints deployed in your VPC.

### Security groups¶

FM may use up to 10 consecutive TCP ports. Only the first of these ports needs to be opened out of the machine. It is highly recommended to firewall the other ports.

You must be able to connect to the base port with your browser. You can allow direct connection or use a reverse-proxy.

### KMS CMK¶

You must create a KMS CMK. The IAM role of FM must have the ability to use this CMK.

### IAM permissions¶

The EC2 instance on which FM is installed must have IAM credentials available to the fmuser.

This can be achieved either:

• Through an IAM instance profile associated to the instance (recommended)

• Through a keypair available in the ~/.aws/credentials of the fmuser

The required IAM permissions are:

• Full control on EC2

• Manage secrets using the previously created CMK

• Full control of a Route53 zone to host records for private IPs

• Full control of a Route53 zone to host records for public IPs

### Browser¶

The following browsers are supported:

• Firefox (latest ESR version)

### Database¶

FM requires a PostgreSQL 10 (or higher) database for storing data. This can be either a “normally installed” PostgreSQL or RDS.

Aurora in PostgreSQL mode is supported.

### Installation folders¶

A FM installation spans over two folders:

• The installation directory, which contains the code of FM. This is the directory where the FM tarball is unzipped (denoted as “INSTALL_DIR”)

• The data directory (denoted as “DATA_DIR”).

The data directory contains :

• The configuration of FM

• Log files for the server components

• Startup and shutdown scripts and command-line tools

## Preparing install¶

To install FM, you need the installation tarball and a license file obtained from Dataiku.

## Installation¶

### Unpack¶

Unpack the tar.gz in the location you have chosen for the installation directory.

cd SOMEDIR
tar xfp /PATH/TO/dataiku-fm-VERSION.tar.gz
# This creates a directory named dataiku-fm-VERSION in the current directory
# which contains FM code for this version (no user file is written to it by FM).
# This directory is referred to as INSTALL_DIR in this document.


### Install¶

From the fmuser account, run

dataiku-fm-VERSION/installer.sh -c AWS -d /path/to/DATA_DIR -p PORT -l LICENSE_FILE


Where:

• DATA_DIR is the location of the data directory that you want to use. If the directory already exists, it must be empty.

• PORT is the base TCP port.

Warning

DATA_DIR must be outside of the install dir (i.e. DATA_DIR must not be within dataiku-fm-VERSION)

The installer automatically checks for any missing system dependencies. If any is missing, it will give you the command to run to install them with superuser privileges. After installation of dependencies is complete, you can start the FM installer again, using the same command as above.

### (Optional) Enable startup at boot time¶

At the end of installation, FM will give you the optional command to run with superuser privileges to configure automatic boot-time startup:

sudo -i INSTALL_DIR/scripts/install/install-boot.sh DATA_DIR USER_ACCOUNT


Note

This configures a boot-time system service with a default name of “dataiku”. You can add a suffix to this service name by using the -n PREFIX option to install-boot.sh

### Setup database connection¶

Edit the value databaseSettings.dbURL in file DATA_DIR/config/settings.json file to setup the connection to the database.

### Bootstrap the database¶

Now that FM can connect to the database, run the following command to initialize the data in the database:

DATA_DIR/bin/fmadmin initial-setup USER PASSWORD


where:

• USER is the new login of the admin user for FM

DATA_DIR/bin/fm start