# Single-node

Exivity can be easily deployed on any system running Windows Server 2016 or later.&#x20;

## Single Node System Architecture

In order to deploy a single node Exivity system, be aware of the following system architecture:

![Example of single node deployment](https://3540922554-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LHEKskLK6aXinV75Knl%2F-M2A-3Z39OtIMcLP4n2B%2F-M2A-PAYjDTzrkZDp_qc%2FSingle%20Node%20Deployment%20v3.png?alt=media\&token=bf010bc9-8505-44bd-9223-2f2942f50dcb)

All components can be installed on a single node. However, even in a single node deployment, it might be desirable to run a the PostgreSQL database on a diffent system. Apart from installing PostgreSQL from the Exivity installer, ths Exivity software is also compatible with any PostreSQL compatible database engine (PostgreSQL on Linux, Amazon RDS, CockroachDB, etc) in order to achieve High Availability or Load Balancing.

### Deploying Exivity on a Single Node

After starting the Exivity installer and providing a valid license, ensure to have all components selected and click *Next:*

![](https://3540922554-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LHEKskLK6aXinV75Knl%2F-M32C9Jb5I6VrPiiGpI1%2F-M32Dv3jQA3uLRCS77eJ%2Fimage.png?alt=media\&token=d2f0dab8-d124-4ca8-bb20-7c9dc5b66446)

Then make sure to provide a valid path for the Exivity program files:

![](https://3540922554-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LHEKskLK6aXinV75Knl%2F-M32C9Jb5I6VrPiiGpI1%2F-M32E34-rjapw4U0t1T5%2Fimage.png?alt=media\&token=b98e13fa-0c59-4a9a-9387-a92a7a1a7d08)

And select a folder for the Exivity home files:

![](https://3540922554-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LHEKskLK6aXinV75Knl%2F-M32C9Jb5I6VrPiiGpI1%2F-M32EC8brPXb6B4CQq5b%2Fimage.png?alt=media\&token=51889e04-ad2f-4ad2-91f8-07b2d0e19760)

{% hint style="info" %}
It is recommended to configure a **dedicated volume** with **SSD performance** for the Exivity home folder location
{% endhint %}

Provide a custom administrator username and password, or leave the default:

![](https://3540922554-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LHEKskLK6aXinV75Knl%2F-M32C9Jb5I6VrPiiGpI1%2F-M32EdZUBjy-dYPuMAB2%2Fimage.png?alt=media\&token=9ab8fa13-e075-4530-b4f1-59be14221a31)

Then provide the details for the PostgreSQL database. The installer will configure a local PostgreSQL database by default:

![](https://3540922554-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LHEKskLK6aXinV75Knl%2F-M32C9Jb5I6VrPiiGpI1%2F-M32F5bnWsbOOUhgSAY3%2Fimage.png?alt=media\&token=6cce6318-e825-469b-ade7-ea92c43e250a)

{% hint style="info" %}
When installing PostgreSQL on a single node host, it is recommended to use a dedicated volume for the PostgreSQL database folder (refered to as '**PGDATA**')&#x20;
{% endhint %}

In case you prefer to use a remote PostgreSQL database system, ensure to deselect *'Install Local PSQL Engine'* and provide your remove PSQL server credentials:

![](https://3540922554-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LHEKskLK6aXinV75Knl%2F-M32C9Jb5I6VrPiiGpI1%2F-M32G-kZhf8BpJdnU23a%2Fimage.png?alt=media\&token=cd2c5b38-514d-427c-a24c-0bc32fc5537c)

{% hint style="warning" %}
When using a PostgreSQL database on a remote host, the database and user must have been created beforehand. To create the database, ask your database administator to execute a database create statement similar to the one below:

**CREATE DATABASE exdb** \
&#x20; **WITH** \
&#x20; **OWNER = exadmin** \
&#x20; **TEMPLATE = template0** \
&#x20; **ENCODING = 'UTF8'** \
&#x20; **LC\_COLLATE = 'en\_US.UTF-8'** \
&#x20; **LC\_CTYPE = 'en\_US.UTF-8'** \
&#x20; **CONNECTION LIMIT = -1;**&#x20;
{% endhint %}

When you are finished configuring your PostgreSQL database settings, click the *Install* button to start the installation process.

Once the installation is finished, ensure to check *'Start the Exivity Windows Services'* to start the Exivity services after clicking *Finish.*

![](https://3540922554-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LHEKskLK6aXinV75Knl%2F-M32C9Jb5I6VrPiiGpI1%2F-M32GbN4geBx9DmVM2Z_%2Fimage.png?alt=media\&token=ed54491b-f342-4844-a8a8-3cc7c59144ec)

### Executing a Single Node Silent Installation

Follow below steps to execute an unintended setup using the silent installer flags supported by the setup program.

#### 1 - installing Exivity on a single node with custom PostgreSQL data path

The below example will silently install Exivity with mostly default settings, except having the Exivity program, home and PGDATA in seperate locations:

```
Exivity_{version}_setup.exe /S /EXIVITY_PROGRAM_PATH=C:\Exivity\Program /EXIVITY_HOME_PATH=D:\Exivity\home /PGDATA=E:\PostgreSQL\PGDATA 
```

#### 2 - installing Exivity on a single node using a remote PostgreSQL database

The below example will silently install Exivity while using a remote PostgreSQL database:

```
Exivity_{version}_setup.exe /S /EXIVITY_PROGRAM_PATH=C:\Exivity\Program /EXIVITY_HOME_PATH=D:\Exivity\home /PGUSER=exivityadmin /PGPASSWORD=S3cret!123 /PGHOST=db.exivity.local /PGPORT=5432 /PGDB=exivitydb /PSQL_INSTALLED=0
```
