On a system too old to read TODO, install.sh ran the install without asking, and the install DELETES an existing .venv.erplibre. It now runs only on a yes typed in a terminal: o, oui, y or yes, any case. Enter alone means no, and with no terminal no question is asked and nothing is installed. « aucun python3 » finally shows when the probe is silent: the || fallback never fired behind a pipe. Checked: 16 tests, each answer on a pseudo-terminal; install.sh run in an isolated copy exits 1 on « n » and installs on « o ». --- FR --- [IMP] install.sh : demander o/N avant d'installer le venv d'outillage Sur un système trop ancien pour lire TODO, install.sh lançait l'installation sans rien demander, et celle-ci SUPPRIME un .venv.erplibre existant. Elle ne part plus que sur un oui tapé au terminal : o, oui, y ou yes, toute casse. Entrée seule vaut non, et sans terminal aucune question n'est posée ni installation lancée. « aucun python3 » s'affiche enfin quand la sonde est muette : le repli par || ne se déclenchait jamais derrière un tube. Vérifié : 16 tests, dont chaque réponse sur un pseudo-terminal ; install.sh lancé dans une copie isolée sort en 1 sur « n » et installe sur « o ». Assisted-by: Claude Opus 5.5
7.7 KiB
ERPLibre
ERPLibre is a CRM/ERP platform including automated installation, maintenance, and development of open source modules of the Odoo community version. It is a "soft-fork" of the Odoo Community Edition (OCE), meaning it aims at contributing back upstream. It is based on a set of production-ready modules, supported by the Odoo Community Association (OCA) and an ecosystem of specialized companies. This solution ensures digital sovereignty in a local environment while integrating pre-trained Generative Transformers (GPT), bringing an additional dimension to data management and automation.
Follow us on Mastodon : https://fosstodon.org/@erplibre
Features
- Multi-version Odoo support : run Odoo 12.0, 13.0, 14.0, 15.0, 16.0, 17.0 and 18.0 in the same workspace, with independent Python virtual environments (
.venv.erplibreand.venv.odooXX) - Interactive CLI (TODO.py) : guided interactive tool for installation, execution, database management, code formatting, mobile compilation, and more. Launch it with
make - Code generator : generate Odoo modules automatically with support for views, portal, snippets, inheritance, i18n, and JavaScript
- Selenium automation : web testing and automation with Selenium Grid, video recording, and login automation
- Mobile application : ERPLibre Home Mobile (Owl + Capacitor), compiled and deployed via TODO.py
- Docker deployment : production-ready Docker images with PostgreSQL 18 and PostGIS
- Deployment tools : Nginx, Apache, Cloudflare DDNS, Certbot SSL, systemd services
- Database tools : backup, restore, clone, migration between versions, production-to-dev migration
- Performance tools : request-per-second measurement, parallel test execution, coverage analysis
Supported Odoo versions
| Odoo version | Python | Status |
|---|---|---|
| 18.0 | 3.12.10 | Active |
| 17.0 | 3.10.18 | Inactive |
| 16.0 | 3.10.18 | Inactive |
| 15.0 | 3.8.20 | Deprecated |
| 14.0 | 3.8.20 | Deprecated |
| 13.0 | 3.7.17 | Deprecated |
| 12.0 | 3.7.17 | Deprecated |
Switch between versions with make switch_odoo_18, make switch_odoo_16, etc.
The Python in that table is the one of the Odoo virtual environment. The
tooling virtual environment .venv.erplibre (TODO, repo, formatters) runs
its own interpreter, 3.14.7, set by conf/python-erplibre-version. Where a
distribution does not carry it, pyenv compiles it.
Supported platforms
- Ubuntu : 24.04, 25.10, 26.04 — 20.04 and 22.04 are dropped, pikepdf requiring a qpdf 12.2 built in C++20
- Linux Mint : 22.3
- Debian : 12 (bookworm) and 13 (trixie)
- Fedora : 41 and later
- AlmaLinux, Rocky Linux : 9 and 10 — RHEL and CentOS Stream take the same path
- openSUSE : Leap 16.0 and Tumbleweed
- Arch Linux : rolling release
- NixOS : 25.11 — the dependencies are DECLARED in
conf/nixos/erplibre.nixand applied bynixos-rebuild, where the four other families install them one command at a time - macOS : through mise or pyenv
- Windows : through WSL or Docker
- Architectures : amd64, arm64 and s390x (IBM Z mainframe)
Installation in production
Easy installation on Ubuntu or Debian using Docker
This has been tested in Debian 12 and Ubuntu 24.04 LTS.
Note : This is meant for a test environment, on a local network or similar environment not directly exposed to the Internet.
-
Make sure Docker and nginx web server are installed:
sudo apt install docker.io docker-compose-v2 nginx -
Get the latest ERPLibre Docker compose file:
wget https://raw.githubusercontent.com/ERPLibre/ERPLibre/master/docker-compose.yml -
Install and run ERPLibre with Docker running as a daemon (web server):
sudo docker compose up -d -
Open the final installation step at this web page :
http://[server IP]:8069/web/database/manager

-
Finish the installation by providing a database name, email and password. then click on Create Database. Depending on your system resources this may take more than 2 minutes without feedback ! Check your browser loading indicator.
-
Next, the web page will reload itself, and you should see the Applications list in ERPLibre:

You can now personalize your ERPLibre installation.
For more information, read Docker guide.
Install from source code
Automated installation
For Debian/Ubuntu
sudo apt install make python3
Clone the project:
git clone https://github.com/ERPLibre/ERPLibre.git
cd ERPLibre
Follow the instruction on the following script, it will try to detect your environment.
make
make and ./install.sh start TODO through the interpreter that can read it:
.venv.erplibre when it carries the right version, otherwise the system
python3 when it is recent enough, otherwise the install itself — a system
older than conf/python-erplibre-version cannot parse the code, so it offers
the install rather than stopping on a syntax error. The install runs only on a
yes typed in a terminal (o, oui, y or yes); Enter alone, or no
terminal, means no. When the
environment is missing but the system Python suffices, TODO offers to run
./script/install/install_erplibre.sh (in a terminal) or prints that command. The install builds the environment
through EL_PYTHON_PROVIDER (mise or pyenv); an existing .venv.erplibre on
another Python version is DELETED and rebuilt, and whatever was installed in it
by hand goes with it.
Manually
Into Ubuntu, minimal dependency:
sudo apt install make git curl
Into Ubuntu, developer dependency:
sudo apt install make build-essential libssl-dev zlib1g-dev libreadline-dev libsqlite3-dev curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev liblzma-dev libbz2-dev libldap2-dev libsasl2-dev
Clone the project:
git clone https://github.com/ERPLibre/ERPLibre.git
cd ERPLibre
make install_os detects the distribution and picks the right dependency script: apt for Ubuntu, Linux Mint and Debian, dnf for Fedora and the RHEL family, zypper for openSUSE, pacman for Arch, and a declarative module for NixOS. See the supported platforms above.
make install_os
make install_odoo_18
Install a specific Odoo version:
make install_odoo_16
make install_odoo_17
make install_odoo_18
Update your configuration if you need to run from another interface than 127.0.0.1, file config.conf
xmlrpc_interface = 0.0.0.0
Show version :
make version
Ready to execute:
make run
Test
Execute ERPLibre test with his code generator.
time make test_full_fast
Documentation
| Guide | Description |
|---|---|
| DISCOVER | Learn and explore ERPLibre |
| DEVELOPMENT | Development environment setup |
| PRODUCTION | Production server deployment |
| RUN | Execution modes and use cases |
| CODE_GENERATOR | Odoo module code generation |
| MIGRATION | Database migration between versions |
| GIT_REPO | Git repository management |
| POETRY | Python dependency management |
| FAQ | Frequently asked questions |
| HOWTO | How-to guides |
| WINDOWS_INSTALLATION | Windows installation |
Contributing
See CONTRIBUTION.md for guidelines.
License
This project is licensed under the GNU Affero General Public License v3.0.