Skip to main content

'Odoo Framework'

Project description

Odoo Docker Framework

Provides functionalities:

  • setup empty new odoo with one bash command odoo init --version 15.0

  • setup full fleged odoo server environment containing

    • supports MANIFEST file in odoo root directory to install and uninstall modules
    • postgres with pg_activity, enhanced pgcli
    • fake webmail to receive AND SEND mails
    • logs.io integration to display container output on web browser
    • dividing web, cron, queuejob container per default
    • progress bar on postgres dump/restore
  • fzf compatible creation of and AST of your project

  • fast restore / create snapshots of complete databases using btrfs, which helps testing things on customer databases

How to install

  • clone repository to /opt/odoo
  • make a bin file /usr/local/bin/odoo and chmod a+x
#!/bin/bash
sudo -E /opt/odoo/odoo "$@"
  • make entry `/etc/sudoers.d/odoo
Cmnd_Alias ODOO_COMMANDS_ODOO = /usr/bin/find *, /opt/odoo/odoo *, /usr/bin/btrfs subvolume *, /usr/bin/mkdir *, /usr/bin/mv *, /usr/bin/rsync *, /usr/bin/rm *,  /usr/bin/du *, /usr/local/bin/odoo *, /opt/odoo/odoo *, /usr/bin/btrfs subvol show *, /usr/sbin/gosu *
odoo ALL=NOPASSWD:SETENV: ODOO_COMMANDS_ODOO

Make new empty odoo

  • make an empty directory and cd into it
  • then:
odoo init
  • You will be asked for a version, then building begins
  • After that:
odoo reload
odoo -f db reset
odoo up -d
  • Then you should see the odoo instance empty at http://localhost:80

Store settings not in ~/.odoo but local inside the current directory in .odoo

This is excellent for jenkins jobs where different branches are tested.

odoo reload --local --devmode --headless --project-name 'unique_name'

How to extend an existing service

  • make a docker-compose file like ~/.odoo/docker-compose.yml
services:
  odoo3:
    labels:
      compose.merge: base-machine
    environment:
      WHAT YOU WANT
    volumes:
      WHAT YOU WANT

Example for fixed ip addresses

services:
    proxy:
        networks:
            network1:
                ipv4_address: 10.5.0.6
networks:
    network1:
        driver: bridge
        ipam:
            config:
                - subnet: 10.5.0.0/16

Some labels

services:
    new_machine:
        ...
        labels:
          odoo_framework.apply_env: 0  # do not apply global environment from settings here

How to upload new version

  • increase version in setup.py
  • one time: pipenv install twine --dev
pipenv shell
pip install build
rm dist -Rf
python -m build 
twine upload dist/*
exit

Project details


Release history Release notifications | RSS feed

This version

0.2.9

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wodoo-0.2.9.tar.gz (93.0 kB view details)

Uploaded Source

Built Distribution

wodoo-0.2.9-py3-none-any.whl (157.4 kB view details)

Uploaded Python 3

File details

Details for the file wodoo-0.2.9.tar.gz.

File metadata

  • Download URL: wodoo-0.2.9.tar.gz
  • Upload date:
  • Size: 93.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for wodoo-0.2.9.tar.gz
Algorithm Hash digest
SHA256 6d4562113a925c079632f8bbe36b4168268a2cde9374f4ae86a270370f29f61c
MD5 7d0c052a2c6f2f537024d5bd8a10ae93
BLAKE2b-256 a0cb077f156131909738a0d796edda1fb964d803d4fa3d88fb3c510a69595cff

See more details on using hashes here.

File details

Details for the file wodoo-0.2.9-py3-none-any.whl.

File metadata

  • Download URL: wodoo-0.2.9-py3-none-any.whl
  • Upload date:
  • Size: 157.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for wodoo-0.2.9-py3-none-any.whl
Algorithm Hash digest
SHA256 70e6fffe076df60589a01654553d86f558ad38d4e7d6081cae063e8696440cd5
MD5 46f0545f86d7b8ecc0d79fa7f8132e5a
BLAKE2b-256 26d7c73dc10c18305c8f32349c49b75077a0a23b864b6fd2addfe32c19b5c2c1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page