Automated installation scripts for Odoo ERP and ZSH shell setup on Ubuntu/Debian systems.
Minimal Odoo installer. Asks for the version, then installs everything.
- Minimal Prompts - Odoo version, plus the Python manager when an older Python is needed
- uv Virtualenv - Dependencies are isolated in a venv, never installed system-wide
- Native Installation - Installs Odoo directly on the system
- Supports Odoo versions 12-19
- Ubuntu/Debian based system
- sudo privileges
- Internet connection
chmod +x odoo_install.sh
./odoo_install.sh| Screen | Options | When |
|---|---|---|
| Odoo Version | 12, 13, 14, 15, 16, 17, 18, 19 | Always |
| Python Manager | pyenv / uv | Only for Odoo 12-14 |
Defaults are set at the top of the script (OE_PASSWORD, OE_PORT,
OLD_PY_VERSION) — edit them there if you need different values.
Odoo 12-14 need Python 3.6 rather than the system Python, so the script asks how to get it:
- pyenv — builds Python 3.6 from source and pins it to the install directory
with
pyenv local. Requirements are installed into that pyenv Python. - uv — creates a venv at
~/workspace/odoo{version}/venvusinguv venv --python 3.6. Requirements go into the venv.
For Odoo 15+ the system Python is fine, so no question is asked — the script
just creates the venv with uv venv. uv is installed automatically if missing.
- Odoo source cloned from the official repository
- PostgreSQL locally, with a superuser role for the current user
- Python dependencies into a uv venv (or the pyenv Python)
- wkhtmltopdf (Odoo nightly build)
~/workspace/odoo{version}/odoo/ # Odoo source
~/workspace/odoo{version}/venv/ # Virtualenv (uv path only)
~/workspace/custom_addons/odoo{version}/ # Custom addons directory
No odoo.conf is generated — run Odoo with command-line options, or create
your own config file and pass it with -c.
# Start Odoo (venv)
cd ~/workspace/odoo{version}/odoo
~/workspace/odoo{version}/venv/bin/python odoo-bin --http-port=8069 \
--addons-path=~/workspace/odoo{version}/odoo/addons,~/workspace/custom_addons/odoo{version}
# Start Odoo (pyenv path - use plain python3)
cd ~/workspace/odoo{version}/odoo && python3 odoo-bin --http-port=8069 ...
# Stop Odoo
pkill -f odoo-binThe exact start command for your install is printed at the end of the script.
Installs a complete ZSH environment with Oh-My-Zsh, Powerlevel10k theme, and plugins.
- Oh-My-Zsh framework
- Powerlevel10k theme
- zsh-autosuggestions plugin
- MesloLGS NF fonts
chmod +x zsh_install.sh
./zsh_install.sh- Set terminal font to
MesloLGS NF - Run
exec zshor restart terminal - Run
p10k configureto customize prompt
| Package | Purpose |
|---|---|
| git | Repository cloning |
| curl | Downloading files |
| wget | Downloading packages |
| sudo | Administrative tasks |
| whiptail | Interactive menus (auto-installed) |
| uv | Virtualenv + package installs (auto-installed) |
| pyenv | Older Python builds, if chosen (auto-installed) |
- Ubuntu 22.04 LTS (Jammy)
- Ubuntu 24.04 LTS (Noble)
- Port already in use: Start Odoo with a different
--http-port - PostgreSQL auth failure: The role password is
OE_PASSWORDfrom the script (defaultadmin)
MIT License