amanova
English
Try the live demo

Deployment

Installation and operations guide.

For IT teams installing Amanova on their own servers, in their own cloud or on an isolated network.

This guide is for IT teams installing Amanova on their own servers, in their own cloud account or on an isolated (air-gapped) network. The hosted service run by SMH Global Services needs none of this.

1. What gets installed

Part What it does
Application The Amanova web application, staff workspace, customer portal and APIs
Web server Serves the application and static files inside the installation
Background workers and scheduler Document checks, statement analysis, early-warning scores, reports and reminders
Real-time service Live updates in the browser
MariaDB 11.8 The database, on an internal network with no route from outside
Redis Cache and job queues
Caddy HTTPS in front of everything, with automatic or your own certificates
amanova.sh The operations script: install, backup, restore, upgrade, subscription, usage report

Everything runs in containers under Docker Compose. Data lives in Docker volumes; backups are written to /opt/amanova/backups.

2. Requirements

Pilot Production
CPU 4 vCPU 8 vCPU
Memory 8 GB 16 GB
Disk 60 GB SSD 200 GB SSD, plus backup storage
Operating system Ubuntu 22.04 or 24.04, RHEL 9 or compatible Same
Software Docker Engine 24 or later with the Compose plugin Same

You also need:

  • a host name users will type, for example lending.bank.local, pointing at the server;
  • ports 80 and 443 open to your users (port 80 only redirects to 443);
  • for automatic certificates on the internet, the host name must be public; on an internal network, bring your own certificate (section 6).

3. Standard installation (server has internet access)

sudo tar -xzf amanova-2.1.0-onprem.tar.gz -C /opt
sudo mv /opt/amanova-2.1.0-onprem /opt/amanova
cd /opt/amanova
sudo ./amanova.sh install

The script asks for:

  1. the address users will type (host name);
  2. the lender's name;
  3. the main country (PK, BD, SA, AE, NG, KE, EG, GH, SN or MZ);
  4. the first administrator's email address.

It then builds or loads the application image, starts the services, creates the site with random database and administrator passwords (kept in /opt/amanova/.env, readable only by root), and prints the address and the administrator's first password. The first build takes 15 to 25 minutes.

4. Offline (air-gapped) installation

Ask SMH Global for the image archive of your version, amanova-2.1.0-images.tar.gz. Copy both files to the server, then:

sudo tar -xzf amanova-2.1.0-onprem.tar.gz -C /opt
sudo mv /opt/amanova-2.1.0-onprem /opt/amanova
cd /opt/amanova
sudo ./amanova.sh load-images /path/to/amanova-2.1.0-images.tar.gz
sudo ./amanova.sh install --offline

Nothing is downloaded. The built-in AI engine works without a connection; to use AI models, run an on-premises model server (section 10).

5. After the first sign-in

  1. Sign in at https://<your host>/login as the administrator and change the password.
  2. Amanova Settings: lender name, brand, main country, languages, support phone and email.
  3. Country Pack: confirm the ID, mobile, bureau and lending rules with your compliance team.
  4. Loan Product: create your products, limits, rates and required documents; tick Show on portal for online products.
  5. Users: add staff with the roles Loan Officer, Loan Underwriter, Loan Manager, Compliance Officer or Auditor.
  6. Amanova Compliance Settings: turn on two-factor sign-in for staff, and set screening, KYC and approval gates.
  7. Install your subscription file (section 9).

6. TLS certificate

  • Public host name: Caddy obtains and renews a certificate automatically.
  • Internal host name: put your certificate and key in /opt/amanova/certs/ as site.crt and site.key, then run sudo ./amanova.sh cert. Use the full chain in site.crt.

7. Backup and restore

sudo ./amanova.sh backup              # database and files, with a SHA-256 checksum
sudo ./amanova.sh backups             # list backups
sudo ./amanova.sh restore <folder>    # verifies the checksum, then restores

A backup runs every night at 02:00 and the last 14 are kept (BACKUP_KEEP in .env). Copy /opt/amanova/backups to separate storage; the database encryption key is in .env and must be backed up separately and kept safe.

8. Upgrades

sudo tar -xzf amanova-2.2.0-onprem.tar.gz -C /tmp
sudo /tmp/amanova-2.2.0-onprem/amanova.sh upgrade /opt/amanova

The upgrade takes a backup first, replaces the application files (your .env, certificates, subscription and backups are kept), rebuilds or loads the new image, migrates the database and restarts. Air-gapped sites load the new image archive first. Installations cloned from SMH Global's repository can run sudo ./amanova.sh update to pull and apply the latest release.

9. Subscription file and usage report

The subscription file is signed by SMH Global and checked offline with the public key shipped in the product; nothing calls home. It records the licensee, staff users, portfolio band, modules, countries, the term and the support end date.

sudo ./amanova.sh subscription /path/to/subscription.json   # install or replace
sudo ./amanova.sh subscription                              # show status
sudo ./amanova.sh usage-report                              # writes usage-report-<date>.json with a checksum

Administrators also see the subscription, usage and expiry under Amanova Subscription in the application. When the subscription or support period ends, or usage goes over the subscribed amount, administrators see a notice; lending, servicing and collections keep working. Send SMH Global a usage report each quarter, or when asked.

10. AI options

Under Amanova Settings → Market & AI:

Provider Where data goes
Built-in Nowhere: rules and statistics inside your installation
On-premises Your own model server with an OpenAI-compatible API (for example vLLM or Ollama), set by its URL
Anthropic Claude or OpenAI-compatible cloud The provider you approve, with your API key, stored encrypted

Every AI result is logged with its inputs and the person who accepted or rejected it. Nothing is decided by AI alone.

11. Security notes for the information-security review

  • Containers run the application as a non-root user; the database and Redis have no published ports.
  • HTTPS only, TLS 1.2 and 1.3; HTTP redirects to HTTPS.
  • Passwords are hashed; secrets such as API keys are encrypted with the site's key in .env.
  • Staff two-factor sign-in, password policy, lockout after failed attempts and session expiry are configurable.
  • Customer documents are private files, served only to signed-in users allowed to see them.
  • Every document keeps a version history; AI results are logged with their reviewer.

12. Installation without containers

Where containers are not allowed, Amanova installs with the platform's standard production set-up (Python, Node.js, MariaDB, Redis, NGINX and Supervisor) using bench. Ask SMH Global for the systemd/bench guide for your operating system.

13. Troubleshooting

Symptom Check
The site does not open sudo ./amanova.sh status and sudo ./amanova.sh logs web
Certificate errors The host name resolves to the server; ports 80 and 443 are open; or install your own certificate
Slow background checks sudo ./amanova.sh logs worker; add memory or CPU
Restore refused The backup's checksum does not match; copy the backup again

14. Command reference

Command What it does
install [--offline] First installation
status Services, version, subscription and disk use
start, stop, restart Control all services
logs [service] Follow the logs (app, web, worker, scheduler, db, proxy)
backup, backups, restore <folder> Backups with checksums
upgrade <folder> / update Upgrade from a new package, or pull the latest from the repository
load-images <archive> Load images for an offline installation or upgrade
cert Use your own certificate from certs/
subscription [file] Install or show the subscription
usage-report Write a usage report for SMH Global
admin-password Set a new password for the administrator
version Show the installed version

Support: support@amanova.app · SMH Global Services, Dubai · Karachi · Riyadh