Wrapper around Odoo-Bin with some convinience RPC functions.
Project description
gOdoo Dev Environment
gOdoo is short for go Odoo.
It is a Vscode Devcontainer Environment for Odoo
with Python CLI godoo
convenience wrapper around odoo-bin
.
This repository is the base source for the Python package godoo-cli and serves as an all batteries included development environment.
This is the source repository for gOdoo
. If you want to use gOdoo
please refer to ./docker/Dockerfile and modify it to install godoo using Pip.
Made Possible by: WEMPE Elektronic GmbH
gOdoo-cli
Python package that provides godoo
command line interface around odoo-bin
.
It's build with Typer to provide some convenience Wrappers for Odoo development and Deployment.
Most flags can be configured by Env variables.
Use godoo --help
to find out more. HINT: Install tab-completion with godoo --install-completion
Docker
This workspace also contains Docker and Docker-Compose files. \
They are used to provide either easy Odoo instances where the source is pulled according to ODOO_MANIFEST.yml, or as a all batteries included devcontainer for VScode.
Requirements
- Docker Compose
- Traefik container running with docker provider and "traefik" named docker network. Example: Traefik Devproxy
- SSH Agent running. (check
echo $SSH_AUTH_SOCK
)
This gets passed trough in the Buildprocess to clone Thirdparty repos (Optional).
Just wanna have a quick and easy Odoo Instance?
git clone https://github.com/OpenJKSoftware/gOdoo
cd godoo
. scripts/container_requirements.sh # Check Requirements
docker-compose build
docker-compose up
# wait......
# wait a bit mode ...
# just a little bit longer ..
# There we go.
# Odoo should be reachable on 'https://godoo.docker.localhost' assuming you didn't change .env TRAEFIK_HOST_RULE or COMPOSE_PROJECT_NAME
Devcontainer
Features
- All batteries included Devcontainer with postgres service Container and local DNS resolvig managed by Traefik.
- Easy fully working Odoo instance by
docker-compose up
with https access. godoo
CLI wrapper around Odoo. (Most flags can be configured by Environment Variables and are already preconfigured in the Containers. See .env.sample)- Cups Container, that provides a CUPS Printserver
odoo-bin
is added to PATH and can thus be invoked from every folder.- Odoo will run in Proxy_Mode behind a Traefik reverse proxy for easy access on
https://$COMPOSE_PROJECT_NAME.docker.localhost
- Odoo Pylint plugin preconfigured in vscode
- Preinstalled vscode Extensions Highlights:
- SQL Tools with preconfigured connection for easy Database access in the Sidebar.
- Docker Extension controls container host.
- Odoo Snippets
- Odoo Developments can Grab Odoo Model information from a running Server
- Todo Tree
Usage
- For Docker on windows: Clone the repo into the WSL2 Filesystem for better IO performance
- Have Traefik Running on
docker.localhost
Example
There must be a Docker network calledtraefik
that can reach traefik. - Open Devcontianer:
- If you have the Devcontainer CLI:
devcontainer open .
- If not open the workspace in Local Vscode. In the Command pallete search for
Reopen in container
- If you have the Devcontainer CLI:
- From within the container start Odoo using one of the following commands:
- You can enable godoo tab-completion by
godoo --install-completion
make
-> Loads Odoo + Workspace Addonsmake bare
-> Loads Odoo with onyweb
installed.make kill
-> Search forodoo-bin
processes and kill themmake reset
-> Drops DB, deletes config file and datafolder- The full init script is available via "
godoo
". (See --help for Options)
- You can enable godoo tab-completion by
- Open Odoo
https://$COMPOSE_PROJECT_NAME.docker.localhost
For exampleCOMPOSE_PROJECT_NAME=godoo
--> https://godoo.docker.localhost - Login with
admin:admin
- Profit!
Access to Odoo and Thirdparty addon Source
You can access the Odoo source by opening the VsCode workspace full.code-workspace from within the Container. This will open a Multi-Root Workspace. Really waiting for https://github.com/microsoft/vscode-remote-release/issues/3665 here.
Reset Devcontainer Data
When you screwed up so bad its time to just start Over godoo has you covered:
Automatic Reset
There are 3 Options to reset the Dev Env.
- From Outside the Container run
make reset
in the project root to delete docker volumes and restart the container. (Vscode will prompt to reconnect if still open) - From Outside the Container run
make reset-hard
in the project root to force rebuild the main Odoo container and then do the same asmake reset
- From Inside the Container run
make reset
to drop the DB and delete filestore and config file, which is way quicker than the other options.
Manual Reset
- Close vscode
- Remove
app
anddb
container from docker. - Remove volumes:
db, odoo_thirdparty, odoo_web, vscode_extensions
- Restart Devcontainer
Python Debugging
VsCode Debugging
Debugging doesn't reliably work with
Odoo Multiprocess mode
enabled.
The container ships with a Vscode Debug profile, that sets --workers 0
to allow for Debugging Breakpoints. See .vscode/launch.json
Interactive Shell
Use godoo shell
to enter an interactive shell on the Database.
Odoo Modules
Third Party Modules (manifest.yml)
The godoo
bootstrap function, will download some modules using git.
Which Repos to download is specified in ODOO_MANIFEST.yml
(Default)
Not all of the cloned addons are automatically installed.
Install them via the Apps Page in Odoo using godoo rpc modules install
or using odoo-bin
.
Modules downloaded on the Odoo Marketplace can be dropped as a .zip
archive in ./thirdparty
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file godoo_cli-0.10.2.tar.gz
.
File metadata
- Download URL: godoo_cli-0.10.2.tar.gz
- Upload date:
- Size: 42.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.10.12 Linux/6.2.0-1018-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7cf3b010eb1258b7c2ec8bcb7daa1f97bdc97e0039906db27b603a16cdddd9cb |
|
MD5 | 59101cb4a5dbca6ad2509cf8aae26c7f |
|
BLAKE2b-256 | a75b20b055eb5482f27a2a8205438c4ced83eef91887a09939512b2ee95f3527 |
File details
Details for the file godoo_cli-0.10.2-py3-none-any.whl
.
File metadata
- Download URL: godoo_cli-0.10.2-py3-none-any.whl
- Upload date:
- Size: 55.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.10.12 Linux/6.2.0-1018-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4c2b5d4ea9190a5a17d46340e96d4d18e429825690a40e5241bf542b6687cee |
|
MD5 | 7ce55d601ab18b56986059a44678e1e1 |
|
BLAKE2b-256 | 777bf2391dd3051b24333edf2631c7524c604a93a41cca134ef548183782ec2e |