Skip to content

Installation and Updates

This guide lists the system requirements for the 12Port application server and provides instructions for installation and performing software updates.

System Requirements

Before installing the 12Port application, please ensure that your system meets the following requirements for your intended usage:

Trial, Test, or Small Scale Production Medium to Large Scale Production
Operating System (64-bit) Windows Server 2019, Windows Server 2022, Red Hat, Ubuntu, Debian, CentOS Windows Server 2019, Windows Server 2022, Red Hat, Ubuntu, Debian, CentOS
Database Embedded MS SQL, MySQL, Oracle, PostgreSQL, MariaDB
Memory 8GB 16GB
Disk Space 25GB 25GB

Installing the 12Port Application

12Port can be installed using an Online or Offline method. If choosing Online, then please be sure the server has internet connectivity during the entire installation process. Offline does not require internet connectivity.

Note

If installing the software to a Linux host server, ensure that the unzip utility is installed before proceeding with the installation. Some Linux distributions do not include this utility by default, which is required to extract the software package.

Tip

Prior to installation, we recommend disabling all endpoint protection software or configuring exceptions for 12Port and its services. Such software may interfere with deployment or the startup of required services.

 

Windows

Online

Download the Windows installation script setup.ps1 to a directory like C:\12port and run it from an elevated PowerShell session. Do not install 12Port to a temp directory. Follow the prompts to install the software and start both 12Port application services; 12port and 12port-gw.

Alternatively, installation can be performed by executing the single PowerShell command below replacing the $folderPath value "C:\12Port" with your chosen installation directory:

$folderPath = "C:\12Port"; if (!(Test-Path $folderPath)) { New-Item -ItemType Directory -Path $folderPath }; Set-Location -Path $folderPath; Invoke-WebRequest -Uri "https://bin.12port.com/product/setup.ps1" -OutFile "$folderPath\setup.ps1"; & "$folderPath\setup.ps1"
Offline

From a computer with internet connectivity, download the 12Port offline installation package 12port-offline.zip and copy this file to your 12Port server. Extract the archive, copy the extracted content to a directory like C:\12port, and run the installation script setup.ps1 from an elevated PowerShell session. Do not install 12Port to a temp directory. Follow the prompts to install the software and start both 12Port application services; 12port and 12port-gw.

 


Linux

Linux Distribution Support

12Port supports both major Linux runtime environments: glibc (GNU C Library) and musl.

This ensures compatibility across traditional enterprise distributions, such as Red Hat, Ubuntu, Debian, and CentOS, as well as modern, minimal distributions like Alpine Linux and musl-based Gentoo systems.

Support for musl-based environments enables deployment in lightweight, containerized infrastructures commonly used in cloud-native and Kubernetes-based architectures. Musl-based distributions are designed with a minimal footprint, faster startup characteristics, and a reduced attack surface, making them well-suited for microservices and AI-driven workloads.

Our AI-enabled credentials vault with MCP server is particularly well-suited for these environments, where efficient, secure services must integrate seamlessly into larger distributed systems and workflows.

This dual compatibility allows our platform to operate consistently across both full-featured systems and highly optimized container environments.

 

Online

Download the Linux installation script setup.sh to the recommended directory /opt/12port and run it as a non-root user. Do not install 12Port to a temp directory. Follow the prompts to install the software and start both 12Port application services; 12port and 12port-gw.

Alternatively, installation can be performed by executing this single command from a prompt:

sudo mkdir -p /opt/12port && cd /opt/12port && sudo chown -R $(whoami) /opt/12port && wget https://bin.12port.com/product/setup.sh && chmod +x setup.sh && ./setup.sh
Offline

From a computer with internet connectivity, download the 12Port offline installation package 12port-offline.zip and copy this file to your 12Port server. Extract the archive, copy the extracted content to the recommended directory /opt/12port, and run the installation script setup.sh as a non-root user. Do not install 12Port to a temp directory. Follow the prompts to install the software and start both 12Port application services; 12port and 12port-gw.

 

Best Practices for Production Deployments

The following approach is recommended for production environments where stricter security controls and separation of privileges are required.

Overview

In a hardened deployment, the application is installed and managed using two distinct Linux accounts:

  • Privileged Deployment Account
    An account with sudo privileges used exclusively to execute installation, updates, and uninstallation scripts.
  • Service Account
    A dedicated, non-privileged account that owns and runs the application. This account can be configured with no interactive login capabilities.

This separation limits the extent of potential vulnerabilities by ensuring the application does not run with elevated privileges.


Prerequisite: Service Account

A service account must be specified during installation. You may either:

  • Use an existing service account, or
  • Create a new dedicated service account for this application

If creating a new account, it should meet the following requirements:

  • Non-privileged (no sudo access)
  • No interactive login shell
  • No password assigned
  • Intended solely for running the application

Example (Ubuntu):

sudo useradd -r -s /usr/sbin/nologin 12portservice

Note: Commands and options for account creation may vary across Linux distributions.


Installation Using a Service Account

The installation script supports assigning ownership of the application to a pre-existing service account.

Note: The service account must be created prior to running the installation. The script will fail if the specified account does not exist.

Run the installation as follows:

sudo ./setup.sh -user <service_account>

Example:

sudo ./setup.sh -user 12portservice


Updating the Application

To update an existing installation, execute the update script using the same service account specified during installation.

Run the command from the application’s installation directory (e.g., $HOME):

sudo ./update.sh -user <service_account>

Example:

sudo ./update.sh -user 12portservice

This ensures file ownership and service permissions remain consistent.


Uninstalling the Application

To remove the application, run:

sudo ./uninstall.sh -user <service_account>

Follow the interactive prompts to complete the removal process.


Security Considerations

This deployment model enforces the principle of least privilege:

  • The application runs under a non-privileged service account with no login capability
  • Executing administrative scripts (install/update/remove) require a separate sudo-enabled account
  • In the event of an application-level compromise, access is limited to the permissions of the service account

This approach significantly reduces the risk of privilege escalation and aligns with standard enterprise Linux security practices.


Silent Installation

Silent installation is an essential option for 12Port deployments due to its ability to automate the deployment process, minimize user interactions, enable faster deployments, reduce IT time and effort, and ensure consistent results.

12Port offers silent installation for both Windows and Linux deployments as described below.

Windows

To deploy 12Port to a Windows host using the silent installer, add the following arguments to the PowerShell script as required:

-silent (required) -- defines silent installation

-eula (required) -- auto-accepts the software's EULA. You can read the EULA here.

-location (optional) -- if included, define the software's installation directory. If not included, the software will be deployed to the current directory.

-help (informational only) -- displays the list of available arguments and descriptions. Do not include this argument in your silent deployment script.

An example PowerShell silent install script where the software is deployed to the current location:

.\setup.ps1 -silent -eula

An example PowerShell silent install script where the software is deployed to the location defined in the script:

.\setup.ps1 -silent -eula -location "c:\12Port"

 

Linux

To deploy 12Port to a Linux host using the silent installer, add the following arguments to the script as required:

-silent (required) -- defines silent installation

-eula (required) -- auto-accepts the software's EULA. You can read the EULA here.

-location (optional) -- if included, define the software's installation directory. If not included, the software will be deployed to the current directory. Do not install to a temp directory.

-user (optional) -- if included, define the service account to run the 12Port service as. Do not use root.

-help (informational only) -- displays the list of available arguments and descriptions. Do not include this argument in your silent deployment script.

An example Linux silent install script where the software is deployed to the current location:

./setup.sh -silent -eula

An example Linux silent install script where the software is deployed to the location defined in the script:

./setup.sh -silent -eula -location "/opt/12Port"

 


Updating the 12Port Application

Software Update Available

When a software update becomes available, Administrators will receive an update message, as shown above, on the tenant Dashboard (Home page). They can also learn of the available update from the Management > About page in the Latest Versions section, as shown below.

Software Update Available

To perform the update, login to the 12Port application server, open an elevated prompt, navigate to the application's installation directory, and run the update.ps1 (Windows) or update.sh (Linux) command to begin the process. Follow the prompts to update the software.

To communicate with the 12Port update server be sure that the host performing the update can access the server address bin.12port.com using https over port 443. Please make any firewall adjustments necessary to ensure this connection can be made.

Note

The 12Port application will be inaccessible during this update process.

Silent Update

To perform a silent update, add the -silent argument to your update script:

Windows: .\update.ps1 -silent

Linux: ./update.sh -silent

 


Uninstalling the 12Port Application

To uninstall the 12Port application from your system, run uninstall.ps1 (Windows) or uninstall.sh (Linux) in your installation directory and follow the prompts. The 12Port application service will be removed and program files will be deleted.

Silent Uninstall

To perform a silent uninstall, add the -silent argument to your update script:

Windows: .\uninstall.ps1 -silent

Linux: ./uninstall.sh -silent

Warning

Use caution with this silent uninstall option as the uninstall process will begin immediately and cannot be undone.