Sicura Console
  1. Introduction
  2. Installation
  3. Reference Deployment with SSL Termination
  4. RPM Installation (Deprecated)
  5. Container Installation
  6. Upgrades
  7. Running Sicura Console
  8. Configuration - Accounts
  9. Configuration - Database
  10. Configuration - Collector
  11. Configuration - Security
  12. Configuration - Plugins
  13. Configuration - Experimental
  14. Sidebar - Administration
  15. Sidebar - Infrastructure
  16. Sidebar - Profiles
  17. Sidebar - Reports
  18. Sidebar - Scheduling
  19. Known Issues
  20. How To - Enforce compliance
  21. How To - Enforce custom profiles
  22. How To - Use the API

Container Installation

This guide provides comprehensive instructions for installing and running the Sicura Console as a container. The documentation is organized into logical sections:

Container Images

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

Requirements

PostgreSQL Server

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.

Option 1: Using an existing PostgreSQL server

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;

Option 2: Installing PostgreSQL on RHEL/CentOS

To install PostgreSQL on a Red Hat/CentOS server:

  1. Install PostgreSQL.
     yum -y install postgresql-server
    
  2. Initialize the database.
     postgresql-setup initdb
    
  3. Enable password authentication for localhost.
     sed -i \
         -e '/^host\s*all\s*all\s*[0-9:./]*\s*ident$/ s|ident|md5|' \
         /var/lib/pgsql/data/pg_hba.conf
    
  4. Enable and start the database service.
     systemctl enable postgresql --now
    
  5. Create a database and user for Sicura Console.
     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
    

Option 3: Using PostgreSQL in a container

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

Console Environment Variables

Environment variables are used to customize the Console.

Required

License Key

A valid License Key needs to be set with one of the following variables:

Config

A valid Config needs to be set with one of the following variables:

Database

The Postgresql Server database information from above is required to be set using the following variables:

Optional

Directory Services

Directory Services can be set with one of the following variables:

Running the Console Container

This section provides different options for running the Sicura Console container based on your deployment needs.

Option 1: Basic Container Deployment

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

Option 2: Using Volume Mounts for Configuration and Data

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

Option 3: Using Docker Compose

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