---
title: "Fresh Install Polarity Server v5 with Docker — Admin Guide"
slug: "polarity-server-v5-fresh-install-docker"
description: "Deploy Polarity Server v5 from scratch using Docker containers. Step-by-step installation guide for administrators setting up the annotation platform on Linux or macOS with Docker Compose."
updated: 2026-01-27T20:15:17Z
published: 2026-01-27T20:15:17Z
canonical: "knowledge.threatconnect.com/polarity-server-v5-fresh-install-docker"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://knowledge.threatconnect.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Fresh Install (Docker)

*This page describes the installation of Polarity Server version 5 on a new server.*

## Server Requirements

We recommend the following server specs for a deployment of up to approximately 50 users:

- 4 Cores
- 32 GB of RAM
- 250 GB storage
  - ***NOTE:****Docker uses*`/var/lib/docker` *as the standard Docker Root for storage and operation.*
    - *Ensure whichever volume containing*`/var`*has enough storage for containers.*

## Deployment Methods

1. Amazon Machine Image (AMI)
  1. Amazon Linux 2023
2. Single server container deployment
  1. Supported Operating Systems:
    1. Debian-Based Distros, such as:
    2. Debian 11 / 12
    3. Ubuntu 22.04 LTS / 24.04 LTS
  2. Enterprise Linux-Based Distros, such as:
    1. RedHat Enterprise Linux 8 / 9
    2. CentOS Stream
    3. Rocky Linux 8 / 9
    4. Oracle Linux 8 / 9
    5. Amazon Linux 2023
3. Single server container deployment - separating out Redis and Postgres to different servers
  1. Typically, this will be done in AWS using Elasticache and RDS

---

## Installation Steps

### Confirm Operating System

```shell
cat /etc/os-release
```

### Install OS Dependencies

**Select the tab for your Server operating system:**

**Enterprise Linux**

***CentOS Stream, Rocky Linux, RHEL, etc.***

**Docker**

```shell
dnf config-manager --add-repo=https://download.docker.com/linux/rhel/docker-ce.repo
dnf install docker-ce -y --allowerasing
```

**JQ / Postgres Client / WGet**

```shell
# Ensure PostgreSQL module version is up to date
dnf module enable postgresql:16 -y

# Install JQ, PostgreSQL client, and WGet software
dnf install -y jq postgresql wget
```

**Docker Compose**

```shell
wget https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -O /usr/local/bin/docker-compose
chmod -v +x /usr/local/bin/docker-compose
```

**Debian / Ubuntu**

**Update Dependencies**

```shell
sudo apt-get update
```

**Docker / JQ / Postgres / WGET / Python Utils**

```shell
sudo apt-get install -y docker.io jq postgresql-client wget python3-distutils-extra
```

**Docker Compose**

```shell
sudo wget https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -O /usr/local/bin/docker-compose
sudo chmod -v +x /usr/local/bin/docker-compose
```

### Check Docker Components

```shell
docker --version
docker-compose --version
```

Warning

If either of these two programs fail and give a "command not found" error, you may need to add `/usr/local/bin` to your PATH or the `secure_path` variable in the `/etc/sudoers` file.

### Enable Docker Service

```bash
systemctl enable --now docker
```

## Download the Self-Extracting Installation Script

*Please reach out to your Polarity Customer Success Representative for the link.*

The script’s filename may be in one of the following formats:

- `install-offline-selfextract.sh`
- `install-5.Wm.Wp-5.Sm.Sp-offline-selfextract.sh` , where `Wm` will be the “minor” version number and `Wp` will be the “patch” version number of the Polarity Web component, and `Sm` the “minor” version number and `Sp` the “patch” version number of the Polarity Server component.
  - ***Example:***
    - `install-5.5.0-5.5.2-offline-selfextract.sh` is the self-extracting installation script for Web version 5.5.0 / Server version 5.5.2.

> [!WARNING]
> The script filename should not have `al2` in it
> 
> This version of the script is for older versions of Linux that cannot support the latest cipher suites. If you believe you need this version of the script, please contact Polarity Customer Success for guidance.

## Prepare to Execute the Self-Extracting Installation Script

Make the script executable:

```bash
chmod u+x ./install-*-offline-selfextract.sh
```

Place the `polarity.lic` file provided to you by Polarity Customer Success in the same directory as the script.

> [!WARNING]
> **You will receive an error message if your license file is not in the same directory the script is executed.**

## Run the Self-Extracting Installation Script

Execute the script as the “root” user or using `sudo`.

There will be a series of prompts in the course of the execution, with the default response in square brackets (`[ ]`). Hitting the `&lt;ENTER&gt;` or `&lt;Return&gt;` key at these prompts will accept the default answer.

> [!WARNING]
> If you should experience issues or have any questions…
> 
> Your Polarity Customer Success team is here to help! Reach out and we are happy to assist.

---

## Post-Installation

Upon successful completion of the install process, there should be five Docker containers running. Verify this by executing these commands:

```bash
cd /app
./health_check.sh
```

The output should look similar to this:

![](https://cdn.document360.io/dfc206c8-1c9f-4725-b74d-a66f83432320/Images/Documentation/PolarityServer_5.5.0_5.5.2_health_check.sh.png)

`health_check.sh` Output

There is a great deal of information in this output. From this command, you can tell:

- The running state of the two Polarity Server containers (`polarity_platform` and `polarity_web`) and three related services containers (`polarity_integration_cache`, `polarity_metrics_cache`, and `polarity_platform_local_postgres`) ;
- The amount of time the `polarity_web` and `polarity_platform` containers have been running (ie. the `Uptime`), and how long since they’ve been instantiated (ie. the `Image Age`);
- The versions of the `polarity_web` and `polarity_platform` containers.

Notice that the five Docker containers are all indicated as “`running`”. Further, the “Uptime” for both the `polarity_web` and `polarity_platform` containers are greater than 20 seconds.

> [!WARNING]
> If the `Uptime` for either the `polarity_web` or `polarity_platform` containers are less than 20 seconds while the `Image Age` continues to rise, or any containers indicate `restarting`, please reach out to your Customer Success Team.

The install process generates and installs self-signed certificates by default. If your organization would like to deploy other certificates, please see the documentation, here:

[Configure the Server SSL Certificates](/v1/docs/configure-the-server-ssl-certificates)

---

## Further Configuration and Troubleshooting Information

- [Configure the Server FQDN](/v1/docs/configure-the-server-fqdn)
- [Configure the Server SSL Certificates](/v1/docs/configure-the-server-ssl-certificates)
- [Configuring Proxies](/v1/docs/configuring-proxies)
- [Configure SAML Authentication](/v1/docs/configure-saml-authentication)
  - [SAML Troubleshooting](/v1/docs/saml-troubleshooting)
- [Server File System Layout](/v1/docs/server-file-system-layout)
- [Server Environment Variables](/v1/docs/server-environment-variables)
- [Troubleshooting Polarity v5](/v1/docs/troubleshooting-polarity-v5-1)
  - [Polarity Server Logs](/v1/docs/polarity-server-logs)

> [!NOTE]
> Your Polarity Customer Success team is here to help!
> 
> Please don’t hesitate to reach out if you run into any issues or have any questions.
> 
> - CustomerSuccess@polarity.io
> - Support@polarity.io
