Wodoo makes it simple to set up your own Odoo instance for testing or production environments.
1. Install Wodoo
If Wodoo isn’t already installed, instructions for installation can be found on the github repo: 🔗
2. Initialise New Project
In an empty directory, run:
odoo init .
You’ll be prompted to select an Odoo version for your project:
#Sample output:
#Use arrow key and ENTER to select
Already up to date.
[?] : 16.0
18.0
17.0
> 16.0
15.0
14.0
13.0
12.0
11.0
9.0
It may then take several minutes for code to be cloned to your machine.
3. Create Docker Compose File
The reload command creates a docker-compose file and configures the project settings at ~/.odoo/settings.<project-name>
. It does so by extracting the dependencies from your code.
The optional --demo
flag configures demo data for every module (needs to be run before the database is initialised)
#Without mock data
odoo reload
#With mock data
odoo reload --demo
Reload safe to call during build.
If odoo reload
warns that the Python version is too old (this depends on the selected Odoo version), adjust the version like this:
odoo setting ODOO_PYTHON_VERSION=3.12.10
4. Build Project
Next, build the project. The command creates a docker container from the docker-compose (similar to the docker build
command).
It may take several minutes to complete.
odoo build
5. Configure Port and Reload
The next command searches for the next available port and adds it to the existing settings file at ~/.odoo/settings.<project-name>
.
odoo next
It requires a reload afterwards, since it updates docker-compose file. Repeat step 3. The --demo
flag must be reused if used before, otherwise the previous settings will be lost:
#Without mock data
odoo reload
#With mock data
odoo reload --demo
6. Initialise Database
Use the db reset command to create a postgres database with default credentials (user: admin, password: admin) and initialise it with mock data, if specified in the docker-compose file.
odoo -f db reset
Optionally, restore a database backup instead. This may require fixing any broken imported links to the ir.attachments folder, by deleting the ir.attachments table and recreating entries.
odoo -f restore odoo-db
odoo restore-web-icons
7. Update Codebase and Run
Finally, to get your Odoo project running, update the code base and start the docker containers. This command also installs the modules specified in the manifest file.
odoo update
Now your system is running!
8. Open Web UI
All that remains is to get the URL of your running instance and open it. Run the status command to the get the URL
odoo status
Sample output:
projectname: my-project
version: 16.0
db: my_project@postgres (user: odoo)
url: http://192.180.77.28:80 #Here is where to find the URL where your instance is running
DEFAULT_DEV_PASSWORD:admin
ODOO_DEMO:False
ODOO_QUEUEJOBS_CHANNELS:root:1
ODOO_QUEUEJOBS_CRON_IN_ONE_CONTAINER:False
ODOO_CRON_IN_ONE_CONTAINER:False
RUN_ODOO_CRONJOBS:True
RUN_ODOO_QUEUEJOBS:True
The default login credentials for the UI will match the Postgres database (user: admin, password: admin)
9. (Optional) Start Dev Mode
If you want to be able to debug the python code, run the dev command. It’s the equivalent of odoo debug odoo
and shuts down and recreates the running containers.
odoo dev
Sample output:
Please note:
---------------
* just debug:
* debug
* emulate real run:
* run.py
* open shell:
* shell.py
#
Start the project in debug mode:
debug
10. Enable User Access
Open Settings in the Odoo UI and navigate to Users:
Find and select your user:
Set yourself as a Zebroo-Sync Manager:Save and refresh the page and you should now be able to find the Zebroo Sync app in the menu and create your first pipeline!