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:
- the address users will type (host name);
- the lender's name;
- the main country (
PK,BD,SA,AE,NG,KE,EG,GH,SNorMZ); - 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
- Sign in at
https://<your host>/loginas the administrator and change the password. - Amanova Settings: lender name, brand, main country, languages, support phone and email.
- Country Pack: confirm the ID, mobile, bureau and lending rules with your compliance team.
- Loan Product: create your products, limits, rates and required documents; tick Show on portal for online products.
- Users: add staff with the roles Loan Officer, Loan Underwriter, Loan Manager, Compliance Officer or Auditor.
- Amanova Compliance Settings: turn on two-factor sign-in for staff, and set screening, KYC and approval gates.
- 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/assite.crtandsite.key, then runsudo ./amanova.sh cert. Use the full chain insite.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