Pular para o conteúdo
Menu
Esta pergunta foi sinalizada
1 Responder
127 Visualizações

I'm been trying to deploy and run odoo app using docker on Azure app service for containers. I would like to use odoo.conf residing on Azure Blob Container, but for some reasons, odoo still uses the default values to connect to database as if it doesn't find the proper database credentials. Below is docker-compose in Azure: 

services:

  web:

    image: myazureacr.io/my-odoo-image:latest

    depends_on:

      - db

    ports:

      - "8099:8069"

    entrypoint:

      - odoo

      - -i

      - base

      - -d

      - demo_odoo_database


    environment:

      DB_HOST: db            

      DB_PORT: 5432

      DB_USER: user         

      DB_PASSWORD:  my_password  

      DB_NAME: postgres


    volumes:

      - filestore:/var/lib/odoo

      - odoo-config:/etc/odoo

    networks:

      - webnet


  db:

    image: myazureacr.io/postgres:15

    ports:

      - "6432:5432"

    environment:

      - POSTGRES_DB=postgres

      - POSTGRES_PASSWORD=my_password

      - POSTGRES_USER=user

      - PGDATA=/var/lib/postgresql/data/pgdata

    volumes:

      - odoo-db:/var/lib/postgresql/data/pgdata

    networks:

      - webnet


volumes:

  odoo-db:

    external: true

  filestore:

    external: true

  odoo-config:

    external: true


networks:

  webnet:

  


Please note that the volumes (odoo-db, filestore, odoo-config) are external storage that reside on Azure File Share and Blob container. 

Could you please help out here ? I'd most grateful. I'd happy to provide more details. 
Or maybe, you could give a link to an article for deploying odoo properly on Azure using docker and postgres. 

Thanks. 

Avatar
Cancelar
Melhor resposta

Hi,


Try the following

1. odoo.conf (store in Azure File Share)


[options]

addons_path = /mnt/extra-addons,/usr/lib/python3/dist-packages/odoo/addons

data_dir = /var/lib/odoo


db_host = db

db_port = 5432

db_user = user

db_password = my_password


2. docker-compose.yml


services:

  web:

    image: myazureacr.io/my-odoo-image:latest

    depends_on:

      - db

    ports:

      - "8099:8069"

    entrypoint:

      - odoo

      - --config=/etc/odoo/odoo.conf     # Explicitly load config file

    volumes:

      - filestore:/var/lib/odoo

      - odoo-config:/etc/odoo            # Mount Azure File Share with odoo.conf

    networks:

      - webnet


  db:

    image: myazureacr.io/postgres:15

    ports:

      - "6432:5432"

    environment:

      - POSTGRES_DB=postgres

      - POSTGRES_PASSWORD=my_password

      - POSTGRES_USER=user

      - PGDATA=/var/lib/postgresql/data/pgdata

    volumes:

      - odoo-db:/var/lib/postgresql/data/pgdata

    networks:

      - webnet


volumes:

  odoo-db:

    external: true

  filestore:

    external: true

  odoo-config:

    external: true


networks:

  webnet:


odoo.conf is mounted from Azure File Share.


Odoo knows to load it via --config=/etc/odoo/odoo.conf.


Database credentials will be picked from that file.


Hope it helps

Avatar
Cancelar