This is the Mint System Odoo development environment.
This projects provides a highly opinionated way to develop Odoo and Odoo modules. It supports the following scenarios:
- Docker Compose: Spin up a Odoo, Postgres and pgAdmin Docker container and experiment locally.
- Import and Export Database: Use Odoo scripts to copy and restore a remote customer database in the local development environment. Investigate issues and deploy the database at wish.
- Community Edition: Checkout the Odoo Community Edition and start editing the source code.
- Enterprise Modules: Checkout the Odoo enterprise modules and deploy them into the Odoo Docker container or the Odoo source.
- Develop Modules: Scaffold a new module and develop new Odoo features locally.
The Odoo development environment has the following requirements:
- Docker and Docker Compose
- Install python 3.6+ with pyenv
- bash/zsh alias
task='./task'
with optional completion
The usage section is a set of workflows. Pick the one required by your scenario. See task help
or task for details about the projects commands.
Clone this repository.
git clone https://github.com/Mint-System/Odoo-Development.git odoo-development
cd odoo-development
Checkout branch.
task checkout 13.0
# or
task checkout 14.0
Install Odoo scripts
task install-odoo-scripts
Disable auto install for Odoo apps.
task disable-auto-install
Run Odoo with Docker container.
Start and initialize Odoo with Docker
Run docker compose.
task start
# or
npm run task-start
Initialize database.
docker-odoo-install
Open browser to http://localhost:8069 and login with admin:admin
.
Install custom module
docker-odoo-install -m show_db_name
Save config with Docker
docker exec -it odoo bin/bash -c "odoo -s -d odoo --db_host \$HOST -r \$USER -w \$PASSWORD"
Run Odoo from source.
Install Odoo native requirements
Pull the odoo
submodule and install the python dependencies.
git submodule update odoo
task install-native
Initialize and start Odoo from source
Run database container only
task start db
# or
npm run task-start-db
Initialize database
task init-db
Start Odoo from source
task start native
# or
npm run task-start-native
Open browser to http://localhost:8069 and login with admin:admin
.
Create a new module from source
Scaffold a new module.
task create-module project_report
Instructions that are true for Docker and Source usage paths.
Enable developer mode
Open this url http://localhost:8069/web?debug=1, which contains the debug flag.
Manage database with Docker
Open database manager http://localhost:8000/ and login with admin@example.com:admin
.
Remove Docker conainers
Kill docker containers and volumes.
task kill
Stop all Docker containers
task stop
Remove database
task drop-db
View emails
Start mail service.
task start mail
Open the mail client http://localhost.
Confiugre mail server
Install the odoo mail server data package.
task install-module mail_data
Send email
Use curl to send an email:
task send-support-mail