How to use the Odoo included in Bhamni?

Hello everyone,

My name is Osama. I’m currently working on Testing the integrations of services supported by Bahmni.

I am using the Ubuntu Linux operating system.

I have installed version 1.0.0 of the standard Bahmni. When I first downloaded it, some of the Docker images didn’t install in my laptop . For example ,openELIS and odoo .Therefore, I had to install them manually from the wiki. But the problem is the odoo image didn’t work. I tried to install odoo 16v and add it to the docker compos file. I really don’t understand the problem ,is it because the odoo version are no longer supported ?

Is there anyone who might know the solution. or any hidden tricks I should try ?

looking foreword to your responses, and I’m down to share any additional information.

Thank you :raising_hands:

hey @yami This is what I think. The version mismatch is likely the main issue.

Bahmni 1.0.0 is quite old, and its Docker setup is tightly coupled to specific versions of services, including Odoo and OpenELIS.

If you try to replace the Odoo version expected by Bahmni with Odoo 16, you will likely run into database schema incompatibilities, missing APIs and outdated Docker networking assumptions.

Hope that helps as we wait for someone who might have a more detailed response than me.

Hello,

I also suspect that’s the problem. I’ve contacted the Bahmani team for more accurate information. I’m waiting for their response now. Thank you for your reply.

You’re welcome. :victory_hand::victory_hand:

Hello everyone, it’s ,me Osama from the future :grinning_face_with_smiling_eyes: .And I found the solution.

If you ever ran into this problem, you might find the answer here.

Issue Description: When deploying the Bahmni Standard distribution using Docker on Linux, users may encounter an “Internal Server Error” when attempting to access the Inventory & Billing module. Upon checking the container logs (docker compose logs odoo), the system shows a PermissionError related to the filestore directory.

Root Cause: This issue occurs because the Docker volumes for Odoo are created with root ownership by default. However, the Odoo service runs as a non-root user (UID 101) inside the container. Consequently, the service lacks the necessary write permissions to the filestore, config, and appdata directories, causing the initialization process to fail.

Solution: To resolve this, you need to adjust the ownership of the Odoo volumes to match the internal user (UID 101). Follow the steps below:

Step 1: Stop the running containers Navigate to your project directory (bahmni-docker/bahmni-standard) and stop all services:

bash: docker compose down

Step 2: Fix ownership permissions Run the following command to launch a temporary helper container. This will recursively change the ownership of the Odoo directories to UID 101:

bash: docker run --rm -v bahmni-standard_odoofilestore:/data -v bahmni-standard_odooconfig:/config -v bahmni-standard_odooappdata:/app alpine sh -c “chown -R 101:101 /data /config /app && chmod -R 775 /data /config /app”

Step 3: Restart the system Bring the services back up with the standard profile:

bash: docker compose --profile bahmni-standard up -d

docker compose --profile bahmni-standard up -d

Outcome: Wait approximately 2-3 minutes for the database to initialize fully. The Inventory & Billing module should now be accessible without errors.