trishul-snmp-suite

Installation Guide

This guide covers the supported 2.0.2 installation paths for Trishul SNMP Suite.

What Gets Installed

The runtime is one container that serves:

Persistent state is stored in the Docker volume trishul-snmp-suite-data. Container logs are emitted to stdout/stderr and should be read with ./install-trishul-snmp-suite.sh logs or docker logs trishul-snmp-suite.

Prerequisites

From a local checkout:

./install-trishul-snmp-suite.sh up

What it does:

After startup:

The current installer also accepts explicit platform and image overrides:

./install-trishul-snmp-suite.sh up --platform linux/arm64
./install-trishul-snmp-suite.sh up --image ghcr.io/tosumitdhaka/trishul-snmp-suite:latest
./install-trishul-snmp-suite.sh up-local --platform linux/amd64 --image trishul-snmp-suite-local:test

Notes:

Environment variable equivalents are also supported:

If you rerun the installer without explicit APP_PORT or BACKEND_PORT overrides, it keeps the currently deployed host mapping. Set BACKEND_PORT=none on the next restart if you want to remove the compatibility alias.

Build And Run From This Checkout

Use this when you want the image built from local source:

./install-trishul-snmp-suite.sh up-local

Useful companion commands:

./install-trishul-snmp-suite.sh build-local
./install-trishul-snmp-suite.sh restart-local
./install-trishul-snmp-suite.sh logs
./install-trishul-snmp-suite.sh status
./install-trishul-snmp-suite.sh down

Docker Compose Path

The repo still ships a Compose file for convenience:

docker compose up -d
docker compose logs -f app
docker compose down

For 2.0.2 release validation, prefer the installer over Compose.

Logs

Container deployments default to stdout/stderr logging with Docker-managed rotation.

Useful commands:

./install-trishul-snmp-suite.sh logs
docker logs -f trishul-snmp-suite

If you explicitly set LOG_DESTINATION=stdout+file, the backend also writes /app/backend/data/logs/backend.log.

Custom Ports

Primary app port:

APP_PORT=9080 ./install-trishul-snmp-suite.sh up

Custom SNMP test ports:

APP_PORT=9080 SNMP_PORT=2161 TRAP_PORT=2162 ./install-trishul-snmp-suite.sh up

Compatibility access:

APP_PORT=9080 BACKEND_PORT=9000 ./install-trishul-snmp-suite.sh up-local

In that mode:

Legacy 1.4.1 Runtime

If you need the pinned merged runtime from the 1.4.1 line, use the legacy installer:

This section is intentional compatibility guidance. It is not the recommended 2.0.2 runtime path.

./install-trishul-snmp-suite-v1.4.1.sh up

That installer intentionally keeps the old runtime names:

Its default ports are shifted so it can run alongside the 2.0.2 installer on the same host:

Useful legacy examples:

./install-trishul-snmp-suite-v1.4.1.sh up-cached
./install-trishul-snmp-suite-v1.4.1.sh up --platform linux/arm64
./install-trishul-snmp-suite-v1.4.1.sh up-cached --image ghcr.io/tosumitdhaka/trishul-snmp-suite:1.4.1
APP_PORT=9081 ./install-trishul-snmp-suite-v1.4.1.sh up-cached

Notes:

First Login

After installation:

  1. open the app
  2. log in as admin / admin123
  3. go to Settings
  4. rotate the operator credentials
  5. go to Dashboard, Simulator, or MIB Manager to begin validation

Data Layout

The runtime stores state under /app/backend/data/.

Important paths include:

logs/backend.log exists only when file logging is explicitly enabled, such as non-container runs or LOG_DESTINATION=stdout+file.

Backup And Restore

Create a backup:

./install-trishul-snmp-suite.sh backup

Restore a backup:

./install-trishul-snmp-suite.sh restore trishul-snmp-suite-backup-YYYYMMDD-HHMMSS.tar.gz

Restore stops the running container first.

Upgrade From 1.x

If you are coming from the old split or early merged runtime, read Migration Guide before relying on old state.

The installer can preserve or copy old Docker volumes forward, but the 2.0.2 runtime keeps the SQLite-plus-bundles model introduced in 2.0.0 and does not automatically convert every old file-based workflow into current SQLite state and compiled bundle artifacts.