odood ~dev

Manage local development odoo installations with ease


To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:


This package provides sub packages which can be used individually:

odood:exception - Odood exceptions package

odood:tipy - Dynamically loaded python.

odood:utils - Odood utils that do not require Odood project to use them.

odood:git - Odood wrapper for Git CLI

odood:lib - Odood core as a library

odood:cli - CLI Interface for Odood

Odood

The easy way to install and manage odoo for local development. This project is successor of odoo-helper-scripts and is compatible with odoo installations made by odoo-helper-scripts.

Github Actions codecov DUB DUB

Current state

Current status

The project is still under development.

Currently, this project could be used in parallel with odoo-helper-scripts.

Following features currently implemented:

  • [x] Server management
  • [x] Database management
  • [x] Basic addons management (fetch/install/update/uninstall)
  • [x] Running tests
  • [ ] CI utils (versions, forwardports, etc)
  • [ ] Postgres utils
  • [ ] Doc utils
  • [x] Linters - use pre-commit and per-repo configurations, instead of directly running linters

Supported Odoo versions

  • Odoo 7.0 (partial)
  • Odoo 8.0 (best efforts)
  • Odoo 9.0 (best efforts)
  • Odoo 10.0 (best efforts)
  • Odoo 11.0 (best efforts)
  • Odoo 12.0 (tested)
  • Odoo 13.0 (tested)
  • Odoo 14.0 (tested)
  • Odoo 15.0 (tested)
  • Odoo 16.0 (tested)
  • Odoo 17.0 (tested)
  • Odoo 18.0 (experimental)

Prebuild docker-images with preinstalled Odoo and Odood

You can use on of prebuilt images to run Odoo managed by Odood in containers:

Installation (as Debian Package)

This is the recommended way to install Odood.

  1. Download package for your os from Releases
  2. Install downloaded debian package
  3. Run odood --help to get info about available commands

Installation (locally from source)

Note, that this way is mostly useful for development of Odood, and requires significant RAM amount to build Odood. Better, download and install it as debian package.

If you want to install it locally from source, follow steps below:

  1. Clone this repository and checkout in the repository root.
  2. Install system dependencies for this project (you can check lists of depenencies here).
  3. Install DLang compiler
  4. Build Odood with command dub build -b release. After build completed, there will be generated binary odood in build directory.
  5. Link Odoo binary to bin directory:
    • Assume that current working directory is Odood source code root.
    • mkdir -p ~/bin
    • ln -s "$(pwd)/build/odood" ~/bin/
  6. Run odood --help to get info about available commands

Use in parallel with odoo-helper

The only thing needed to manage odoo-helper project with Odood is to run command odood discover odoo-helper somewhere inside odoo-helper project.

Quick start

Use following command to create new local (development) odoo instance:

odood init -v 17 -i odoo-17.0 --db-user=odoo17 --db-password=odoo --http-port=17069 --create-db-user

This command will create new virtual environment for Odoo and install odoo there. Also, this command will automatically create database user for this Odoo instance.

For production installations, you can use command odood deploy that will deploy Odoo of specified version to machine where this command is running. For example: odood deploy -v 17 --supervisor=systemd --local-postgres --enable-logrotate But this command is still experimental.

Next, change current working directory to directory where we installed Odoo:

cd odoo-17.0

After this, just run command:

odood browse

and it will automatically start Odoo and open it in browser.

Next, you can use following commands to manage server:

odood server start
odood server stop
odood server restart
odood server log

Next, let's create some test database with pre-installed CRM module for this instance:

odood db create --demo my-test-database --install=crm

After this command, you will have created odoo database my-test-database with already installed module crm.

Additionally you can manage odoo addons from commandline via command odood addons. See help for this command for more info:

odood addons --help

It is possible to easily add repositories with third-party addons to odood projects. To do this, following command could be used

odood repo add --help

For example, if you want to add crnd-inc/generic-addons you can run following command:

odood repo add --github crnd-inc/generic-addons

Example setup for docker compose

Odood has prebuilt docker images, that could be used to easily run Odoo powered by Odoo inside docker-based infrastructure.

See examples directory for more details.

Example docker-compose.yml:

version: '3'

volumes:
    odood-example-db-data:
    odood-example-odoo-data:

services:
    odood-example-db:
        image: postgres:15
        container_name: odood-example-db
        environment:
            - POSTGRES_USER=odoo
            - POSTGRES_PASSWORD=odoo-db-pass

            # this is needed to avoid auto-creation of database by postgres itself
            # databases must be created by Odoo only
            - POSTGRES_DB=postgres
        volumes:
            - odood-example-db-data:/var/lib/postgresql/data
        restart: "no"

    odood-example-odoo:
        image: ghcr.io/katyukha/odood/odoo/17.0:latest
        container_name: odood-example-odoo
        depends_on:
            - odood-example-db
        environment:
            ODOOD_OPT_DB_HOST: odood-example-db
            ODOOD_OPT_DB_USER: odoo
            ODOOD_OPT_DB_PASSWORD: odoo-db-pass
            ODOOD_OPT_ADMIN_PASSWD: admin
            ODOOD_OPT_WORKERS: "1"
        ports:
            - "8069:8069"
        volumes:
            - odood-example-odoo-data:/opt/odoo/data
        restart: "no"

Level up your service quality

Level up your service quality with Service Desk / ITSM solution by CR&D.

Just test it at yodoo.systems: choose template you like, and start working.

License

Odood is distributed under MPL-2.0 license.

Authors:
  • Dmytro Katyukha
Sub packages:
odood:exception, odood:tipy, odood:utils, odood:git, odood:lib, odood:cli
Dependencies:
odood:exception, odood:utils, odood:tipy, odood:git, odood:lib, odood:cli
Versions:
0.2.1-alpha.4 2024-Dec-21
0.2.1-alpha.3 2024-Dec-21
0.2.1-alpha.2 2024-Dec-21
0.2.1-alpha.1 2024-Dec-21
0.2.0 2024-Dec-12
Show all 62 versions
Download Stats:
  • 3 downloads today

  • 4 downloads this week

  • 5 downloads this month

  • 371 downloads total

Score:
1.4
Short URL:
odood.dub.pm