Prerequisites¶
Admin
Check everything on this page before you start the installation.
Software¶
Amana runs on Odoo 19 Community. It does not need Odoo Enterprise: accounting, payroll and documents are built into Amana's own modules.
| Component | Version | Notes |
|---|---|---|
| Odoo | 19.0 Community | Amana is tested against commit b369bef5 of the 19.0 branch. |
| Python | 3.12 | Odoo 19 needs Python 3.10 or later. Amana is tested on 3.12.14. |
| PostgreSQL | 17 | Tested on 17.11. |
| wkhtmltopdf | 0.12.6 with patched Qt | Needed for PDF reports such as payslips, purchase orders and grant reports. The unpatched build loses headers and footers. |
| Git | any recent version | To download the Odoo source. |
| Web browser | current Chrome, Edge, Firefox or Safari | For everyone who uses Amana. |
Optional¶
| Component | What it adds |
|---|---|
pdfminer.six (Python package) |
Lets Documents search inside uploaded PDFs. Without it, upload still works but PDF text is not indexed. |
| Internet access from users' browsers | Amana loads the Inter font from Google Fonts. Without it, pages fall back to the system font. |
Operating system¶
Amana is developed and tested on macOS (Apple silicon, macOS 26). Odoo also runs on Linux (Ubuntu or Debian), which is the usual choice for a production server. The commands in this handbook are written for macOS with Homebrew; on Linux, install the same packages with your package manager.
Hardware¶
| Minimum | Recommended | |
|---|---|---|
| CPU | 2 cores | 4 cores |
| Memory | 4 GB | 8 GB or more |
| Disk | 5 GB free | 20 GB free |
These are starting points
The figures above are a recommendation for a small organisation, not measured limits. Disk use grows with uploaded documents. For reference, the current Amana installation uses about 1.4 GB for the Odoo source, 180 MB for the Python environment, 131 MB for the database and 97 MB for uploaded files.
Accounts and access¶
You need:
- A user account on the server that can install software.
- A PostgreSQL role named
odoothat can create databases. The installation steps show how to create it. - A strong master password for the Odoo database manager. Choose it now; you'll set it in the configuration file.
- An administrator password for the first Amana user. Change it when you first sign in.
Network ports¶
| Port | Used for |
|---|---|
8074 |
The Amana web interface. |
8076 |
Live updates: chat, notifications and the activity counter. |
5432 |
PostgreSQL. Keep it closed to the outside; only Amana needs it. |
By default Amana listens only on 127.0.0.1, so it is reachable only from the server itself. To serve other computers, put a reverse proxy such as nginx in front of it. A later page will cover this.
Country setup¶
Amana ships with payroll and accounting for three countries. Each installs Odoo's localisation package for that country:
| Country | Amana payroll module | Odoo localisation |
|---|---|---|
| Kenya | npo_payroll_ke |
l10n_ke |
| Uganda | npo_payroll_ug |
l10n_ug |
| Tanzania | npo_payroll_tz |
l10n_tz_account |
These are installed automatically with the other modules. No separate download is needed.
Checklist¶
- Python 3.12, PostgreSQL 17, wkhtmltopdf (patched Qt) and Git are installed.
- The server meets the hardware minimum.
- You have chosen a master password and an administrator password.
- Ports 8074 and 8076 are free.
Next: Installation