Installation
Prerequisites
Before installing the SSI Agent, ensure your system meets the following requirements:
| Requirement | How to Check |
|---|---|
| Linux with systemd | systemctl --version |
| Python 3.12+ | python3 --version |
| python3-venv | python3 -c 'import venv' |
| pip | pip3 --version or python3 -m pip --version |
| setfacl (ACL tools) | which setfacl |
| gcc (recommended) | which gcc |
Installing Prerequisites (Debian/Ubuntu)
1sudo apt update
2sudo apt install python3 python3-venv python3-pip acl build-essentialInstalling Prerequisites (RHEL/CentOS/Fedora)
1sudo dnf install python3 python3-pip acl gccInstallation
Quick Install
Clone the repository and run the install script:
1git clone https://github.com/RemiZlatinis/ssi-agent.git
2cd ssi-agent
3sudo ./install.shWhat the Installer Does
- Checks system requirements — Verifies Python, systemd, and dependencies
- Creates system user —
ssi-agentuser for running the daemon - Creates directories:
/opt/ssi-agent/— Application files/opt/ssi-agent/venv/— Python virtual environment/opt/ssi-agent/bin/— Entry point scripts/opt/ssi-agent/scripts/— Enabled service-scripts/etc/ssi-agent/— Configuration files/var/log/ssi-agent/— Log files
- Sets up Python virtual environment — Isolated Python environment
- Installs systemd service — Daemon service file
- Creates CLI symlink —
ssicommand available system-wide - Starts the daemon — Agent begins running
Post-Installation
After installation, verify the agent is running:
1# Check service status
2systemctl status ssi-agent
3
4# Verify CLI is available
5ssi --helpRegister the Agent
To connect the agent to your SSI backend:
1ssi registerThis will display a 6-digit code. Enter this code in an SSI client to complete registration.
Directory Structure
After installation, the following directories are created:
Configuration
The default configuration file is created at /etc/ssi-agent/config.json:
1{
2 "backend_url": "https://api.service-status-indicator.com/",
3 "log_level": "INFO",
4 "log_dir": "/var/log/ssi-agent",
5 "config_dir": "/etc/ssi-agent"
6}To change the backend URL:
1ssi set-backend https://your-backend-url.com/Uninstallation
To completely remove the SSI Agent:
1cd ssi-agent
2sudo ./install.sh --removeOr use the --uninstall flag:
1sudo ./install.sh --uninstallThe uninstaller will:
- Stop and disable the systemd service
- Remove application files
- Remove configuration (optional)
- Remove log files (prompts for confirmation)
- Remove the system user
Upgrading
To upgrade the agent, simply re-run the installer:
1cd ssi-agent
2git pull
3sudo ./install.shThe installer preserves your existing configuration.
Troubleshooting Installation
"systemd is required but not found"
The SSI Agent only works on systemd-based Linux distributions. Distributions without systemd (e.g., Alpine, Devuan) are not supported.
"Python 3.12 or higher is required"
Install a newer Python version:
1# Ubuntu/Debian with deadsnakes PPA
2sudo add-apt-repository ppa:deadsnakes/ppa
3sudo apt install python3.12 python3.12-venv"setfacl is required but not found"
Install the ACL utilities:
1# Debian/Ubuntu
2sudo apt install acl
3
4# RHEL/CentOS
5sudo dnf install aclPermission Denied Errors
Ensure you're running the installer with sudo:
1sudo ./install.sh