This guide provides comprehensive instructions for installing and running the Sicura Console as a container. The documentation is organized into logical sections:
Sicura Console container images are available from our container registry. You can pull the latest stable release using:
registry.customers.sicura.us/products/sicura-console:latest
For specific versions, use the version tag (current version is 2025.5.0):
registry.customers.sicura.us/products/sicura-console:2025.5.0
A PostgreSQL server (version 15 or higher) is required in order to run the Console. A production implementation of PostgreSQL is recommended.
IMPORTANT: The 2025.5.0 release requires a new, fresh database installation. Migrating data from previous versions or RPM-based installations is not currently supported. If you’re upgrading from a previous version, you’ll need to create a new database and reconfigure your environment.
If you have an existing PostgreSQL server, create a new database and user for Sicura Console:
# Connect to your PostgreSQL server
psql -U postgres
# Create a new database and user
CREATE DATABASE sicura_console;
CREATE USER sicura_console WITH ENCRYPTED PASSWORD 'your-secure-password';
GRANT ALL PRIVILEGES ON DATABASE sicura_console TO sicura_console;
To install PostgreSQL on a Red Hat/CentOS server:
yum -y install postgresql-server
postgresql-setup initdb
sed -i \
-e '/^host\s*all\s*all\s*[0-9:./]*\s*ident$/ s|ident|md5|' \
/var/lib/pgsql/data/pg_hba.conf
systemctl enable postgresql --now
runuser -l postgres -c "psql" <<END
CREATE DATABASE sicura_console;
CREATE USER sicura_console WITH ENCRYPTED PASSWORD 'your-secure-password';
GRANT ALL PRIVILEGES ON DATABASE sicura_console TO sicura_console;
END
Alternatively, you can run PostgreSQL in a container:
docker run --name postgres \
-p 5432:5432 \
-e POSTGRES_USER=sicura_console \
-e POSTGRES_PASSWORD=your-secure-password \
-e POSTGRES_DB=sicura_console \
-v postgres_data:/var/lib/postgresql/data \
--restart unless-stopped \
-d postgres:17
Environment variables are used to customize the Console.
A valid License Key needs to be set with one of the following variables:
SICURA_LICENSE_KEY: A valid Sicura License Key as a String.SICURA_LICENSE_KEY_FILE: A path to a valid Sicura License Key. File must be mounted during run.A valid Config needs to be set with one of the following variables:
SICURA_CONFIG: A YAML parseable Hash containing other Console config settingsSICURA_CONFIG_FILE: A path for a Console config file. File must be mounted during run.The Postgresql Server database information from above is required to be set using the following variables:
DB_USER: Postgres Database UserDB_PASSWORD: Postgres Database PasswordDB_HOST: Postgres Database HostDB_PORT: Postgres Database PortDB_DATABASE: Postgres Database NameDirectory Services can be set with one of the following variables:
SICURA_DIRECTORY_SERVICES: A YAML parseable Hash containing Directory Services settings.SICURA_DIRECTORY_SERVICES_FILE: A file path containing Directory Services settings. File must be mounted during run.This section provides different options for running the Sicura Console container based on your deployment needs.
The simplest way to start the Sicura Console container:
docker run --name sicura-console -p 6468:6468 --rm -d \
-e SICURA_LICENSE_KEY="your-license-key-here" \
-e DB_USER="sicura_console" \
-e DB_PASSWORD="your-secure-password" \
-e DB_HOST="your-db-host" \
-e DB_PORT="5432" \
-e DB_DATABASE="sicura_console" \
-e SICURA_CONFIG="{main: {port: 6468}}" \
registry.customers.sicura.us/products/sicura-console:latest
For a more persistent deployment with configuration files:
# Create configuration directory
mkdir -p /path/to/config
# Create or copy your license key and config files
echo "your-license-key" > /path/to/config/license.key
# Create sicura-console.yaml with your configuration
# Run container with mounted volumes
docker run --name sicura-console -p 6468:6468 -d \
-v /path/to/config:/etc/sicura/config \
-v /path/to/data:/var/lib/sicura \
-e SICURA_LICENSE_KEY_FILE=/etc/sicura/config/license.key \
-e SICURA_CONFIG_FILE=/etc/sicura/config/sicura-console.yaml \
-e DB_USER="sicura_console" \
-e DB_PASSWORD="your-secure-password" \
-e DB_HOST="your-db-host" \
-e DB_PORT="5432" \
-e DB_DATABASE="sicura_console" \
--restart unless-stopped \
registry.customers.sicura.us/products/sicura-console:latest
For more complex deployments integrating both PostgreSQL and Sicura Console, Docker Compose is recommended:
version: '3'
services:
db:
image: postgres:17
environment:
POSTGRES_USER: sicura_console
POSTGRES_PASSWORD: your-secure-password
POSTGRES_DB: sicura_console
volumes:
- postgres_data:/var/lib/postgresql/data
restart: unless-stopped
console:
image: registry.customers.sicura.us/products/sicura-console:latest
ports:
- "6468:6468"
environment:
SICURA_LICENSE_KEY: "${SICURA_LICENSE_KEY}"
# Alternatively, you can use:
# SICURA_LICENSE_KEY_FILE: "/etc/sicura/config/license.key"
# SICURA_CONFIG_FILE: "/etc/sicura/config/sicura-console.yaml"
DB_USER: "sicura_console"
DB_PASSWORD: "your-secure-password"
DB_HOST: "db"
DB_PORT: "5432"
DB_DATABASE: "sicura_console"
volumes:
- console_config:/etc/sicura/config
- console_data:/var/lib/sicura
depends_on:
- db
restart: unless-stopped
volumes:
postgres_data:
console_config:
console_data:
Save this as docker-compose.yml and run:
docker-compose up -d