Skip to content

Installation

OpenSCM is designed to be lightweight with minimal dependencies, running on everything from enterprise servers to edge devices.

Prerequisites

Requirement Details
Operating System Linux, Windows 10+, FreeBSD, macOS, Arch Linux
Architecture x86_64, ARM64, ARMv7, RISC-V 64, PowerPC 64
Privileges sudo (Linux/macOS) or Administrator (Windows)

Server Installation

The server only needs to be installed once on a central host.

1. Set up the repository:

curl -sS https://repo.openscm.io/openscm.gpg | sudo gpg --dearmor -o /usr/share/keyrings/openscm.gpg
echo "deb [signed-by=/usr/share/keyrings/openscm.gpg] https://repo.openscm.io/stable/debian stable main" | sudo tee /etc/apt/sources.list.d/openscm.list
sudo apt update

2. Install:

sudo apt install scmserver

1. Set up the repository:

sudo tee /etc/yum.repos.d/openscm.repo <<EOF
[openscm]
name=OpenSCM Stable
baseurl=https://repo.openscm.io/stable/redhat/
enabled=1
gpgcheck=1
gpgkey=https://repo.openscm.io/openscm.gpg
EOF

2. Install:

sudo yum install scmserver

1. Set up the repository:

sudo zypper addrepo https://repo.openscm.io/stable/redhat/ openscm
sudo zypper refresh

2. Install:

sudo zypper install scmserver
docker run -d \
  --name openscm \
  -p 8000:8000 \
  -v openscm_config:/etc/openscm \
  -v openscm_data:/var/lib/openscm \
  openscm/scmserver:latest

Or using Docker Compose:

version: '3.8'

services:
  openscm:
    image: openscm/scmserver:latest
    container_name: openscm
    restart: unless-stopped
    ports:
      - "8000:8000"
    volumes:
      - openscm_data:/var/lib/openscm
      - openscm_config:/etc/openscm

volumes:
  openscm_data:
  openscm_config:

Volume Backup

Always mount the /etc/openscm volume. If it is lost all registered agents will need to re-register.

Download the installer from the Downloads page and run the setup wizard. The server will be registered as a Windows Service automatically.

Access the dashboard at http://localhost:8000 after installation.

Prefer a direct download? Get the latest packages from the Downloads page.

# Debian/Ubuntu example
sudo dpkg -i scmserver_0.1.9-1_amd64.deb

Agent Installation

Install the agent on every system you want to monitor. The agent is lightweight and has no runtime dependencies.

1. Set up the repository:

curl -sS https://repo.openscm.io/openscm.gpg | sudo gpg --dearmor -o /usr/share/keyrings/openscm.gpg
echo "deb [signed-by=/usr/share/keyrings/openscm.gpg] https://repo.openscm.io/stable/debian stable main" | sudo tee /etc/apt/sources.list.d/openscm.list
sudo apt update

2. Install:

sudo apt install scmclient

1. Set up the repository:

sudo tee /etc/yum.repos.d/openscm.repo <<EOF
[openscm]
name=OpenSCM Stable
baseurl=https://repo.openscm.io/stable/redhat/
enabled=1
gpgcheck=1
gpgkey=https://repo.openscm.io/openscm.gpg
EOF

2. Install:

sudo yum install scmclient

1. Set up the repository:

sudo zypper addrepo https://repo.openscm.io/stable/redhat/ openscm
sudo zypper refresh

2. Install:

sudo zypper install scmclient

Import the OpenSCM signing key:

curl -sS https://repo.openscm.io/openscm.gpg -o /tmp/openscm.gpg
sudo pacman-key --add /tmp/openscm.gpg
sudo pacman-key --lsign-key 8A39E120F8B52DBB

Install directly from the repository:

sudo pacman -U https://repo.openscm.io/stable/arch/scmclient_0.1.9-1_x86_64.pkg.tar.zst

Available architectures: x86_64, aarch64, armv7h

Download the package from the Downloads page and run:

pkg add scmclient-0.1.9-freebsd-amd64.pkg

The service will start automatically after installation. Edit the config to point to your server then restart:

vi /usr/local/etc/openscm/scmclient.config
service scmclient restart

Download the package from the Downloads page and double-click to install, or from the terminal:

sudo installer -pkg scmclient_0.1.9-1_macos.pkg -target /

Edit the config to point to your server then restart:

sudo vi /usr/local/etc/openscm/scmclient.config
sudo launchctl bootout system/io.openscm.scmclient
sudo launchctl bootstrap system /Library/LaunchDaemons/io.openscm.scmclient.plist

Download the installer from the Downloads page and run the setup wizard. The agent will be registered as a Windows Service automatically.

# Debian/Ubuntu example
sudo dpkg -i scmclient_0.1.9-1_amd64.deb

Post-Installation Setup

1. Configure the Agent

Edit the config file and point it to your server:

sudo vi /etc/openscm/scmclient.config
vi /usr/local/etc/openscm/scmclient.config
sudo vi /usr/local/etc/openscm/scmclient.config

Use the registry editor or the installer wizard to set the server URL.

[server]
url = "https://your-openscm-server.com"  # Your server URL
tenant_id = "default"                    # Tenant identifier

[client]
heartbeat = "300"                        # Check-in interval in seconds
loglevel = "info"

2. Restart the Agent

sudo systemctl restart scmclient
sudo systemctl enable scmclient
service scmclient restart
sudo launchctl bootout system/io.openscm.scmclient
sudo launchctl bootstrap system /Library/LaunchDaemons/io.openscm.scmclient.plist
Restart-Service OpenSCMClient

3. Approve the Agent

Once the agent starts it will send a registration request to the server.

  1. Log in to the OpenSCM dashboard
  2. Navigate to Systems
  3. Find the pending system and click Approve

The agent is now active and will begin receiving compliance tests.

Default Credentials

The dashboard default login is admin / admin. Change this immediately after first login.


Verify Installation

# Check server status
sudo systemctl status scmserver

# Check agent status
sudo systemctl status scmclient

# View logs
sudo journalctl -u scmserver -f
sudo journalctl -u scmclient -f
# Check agent status
service scmclient status

# View logs
tail -f /var/log/openscm/scmclient.log
# Check agent status
sudo launchctl list | grep openscm

# View logs
tail -f /var/log/openscm/scmclient.log
# Check service status
Get-Service OpenSCMServer
Get-Service OpenSCMClient