Skip to Content
Odoo Meniu
  • Autentificare
  • Try it free
  • Aplicații
    Finanțe
    • Contabilitate
    • Facturare
    • Cheltuieli
    • Spreadsheet (BI)
    • Documente
    • Semn
    Vânzări
    • CRM
    • Vânzări
    • POS Shop
    • POS Restaurant
    • Abonamente
    • Închiriere
    Site-uri web
    • Constructor de site-uri
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Lanț Aprovizionare
    • Inventar
    • Producție
    • PLM
    • Achiziție
    • Maintenance
    • Calitate
    Resurse Umane
    • Angajați
    • Recrutare
    • Time Off
    • Evaluări
    • Referințe
    • Flotă
    Marketing
    • Social Marketing
    • Marketing prin email
    • SMS Marketing
    • Evenimente
    • Automatizare marketing
    • Sondaje
    Servicii
    • Proiect
    • Foi de pontaj
    • Servicii de teren
    • Centru de asistență
    • Planificare
    • Programări
    Productivitate
    • Discuss
    • Aprobări
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Aplicații Terțe Odoo Studio Platforma Odoo Cloud
  • Industrii
    Retail
    • Book Store
    • Magazin de îmbrăcăminte
    • Magazin de Mobilă
    • Magazin alimentar
    • Magazin de materiale de construcții
    • Magazin de jucării
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Distribuitor de băuturi
    • Hotel
    Proprietate imobiliara
    • Real Estate Agency
    • Firmă de Arhitectură
    • Construcție
    • Estate Managament
    • Grădinărit
    • Asociația Proprietarilor de Proprietăți
    Consultanta
    • Firma de Contabilitate
    • Partener Odoo
    • Agenție de marketing
    • Law firm
    • Atragere de talente
    • Audit & Certification
    Producție
    • Textil
    • Metal
    • Mobilier
    • Mâncare
    • Brewery
    • Cadouri corporate
    Health & Fitness
    • Club Sportiv
    • Magazin de ochelari
    • Centru de Fitness
    • Wellness Practitioners
    • Farmacie
    • Salon de coafură
    Trades
    • Handyman
    • IT Hardware and Support
    • Asigurare socială de stat
    • Cizmar
    • Servicii de curățenie
    • HVAC Services
    Altele
    • Organizație nonprofit
    • Agenție de Mediu
    • Închiriere panouri publicitare
    • Fotografie
    • Închiriere biciclete
    • Asigurare socială
    Browse all Industries
  • Comunitate
    Învăță
    • Tutorials
    • Documentație
    • Certificări
    • Instruire
    • Blog
    • Podcast
    Empower Education
    • Program Educațional
    • Scale Up! Business Game
    • Visit Odoo
    Obține Software-ul
    • Descărcare
    • Compară Edițiile
    • Lansări
    Colaborați
    • Github
    • Forum
    • Evenimente
    • Translations
    • Devino Partener
    • Services for Partners
    • Înregistrează-ți Firma de Contabilitate
    Obține Servicii
    • Găsește un Partener
    • Găsiți un contabil
    • Meet an advisor
    • Servicii de Implementare
    • Referințe ale clienților
    • Suport
    • Actualizări
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Obține un demo
  • Prețuri
  • Ajutor

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Contabilitate
  • Inventar
  • PoS
  • Proiect
  • MRP
All apps
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
All Posts Oameni Insigne
Etichete (View all)
odoo accounting v14 pos v15
Despre acest forum
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
All Posts Oameni Insigne
Etichete (View all)
odoo accounting v14 pos v15
Despre acest forum
Suport

Set admin password with environment variables

Abonare

Primiți o notificare când există activitate la acestă postare

Această întrebare a fost marcată
developmentconfigurationenvironmentenv
2 Răspunsuri
9583 Vizualizări
Imagine profil
Daniel Rodriguez

Hi,


I'm currently using the Odoo 17 docker image and would like to set the admin_passwd config value using environment variables.


  1. I've tried but do]esn't seem to work. Can ayone confirm if this is possible? 
  2. If it isn't, what options do I have or how can I "merge" odoo.conf files?

Thanks!

0
Imagine profil
Abandonează
Imagine profil
Gracious Joseph
Cel mai bun răspuns

In Odoo, setting the admin_passwd value using environment variables in a Dockerized setup is not directly supported out of the box. However, you can work around this limitation using the following methods:

1. Use Environment Variables with the Docker Image

The Odoo Docker image does not natively support environment variables to directly configure admin_passwd. However, you can achieve this by modifying the entrypoint script or dynamically injecting the value into the odoo.conf file.

Steps:

  1. Set Environment Variable in Docker:
    • Define the environment variable in your docker-compose.yml or when running the container:
      environment:
        - ADMIN_PASSWORD=my_secure_password
      
  2. Modify the Entrypoint Script:
    • Extend the official Odoo Docker image by creating a custom entrypoint script that writes the environment variable into the odoo.conf file.
    Example Dockerfile:
    FROM odoo:17
    
    COPY entrypoint.sh /entrypoint.sh
    RUN chmod +x /entrypoint.sh
    
    ENTRYPOINT ["/entrypoint.sh"]
    CMD ["odoo"]
    
    Example entrypoint.sh:
    #!/bin/bash
    
    # Add the admin_passwd value to the odoo.conf file
    if [ -n "$ADMIN_PASSWORD" ]; then
        echo "admin_passwd = $ADMIN_PASSWORD" >> /etc/odoo/odoo.conf
    fi
    
    # Execute the original entrypoint command
    exec "$@"
    
  3. Rebuild and Run the Container:
    • Build the custom image:
      docker build -t custom-odoo .
      
    • Run the container with the environment variable:
      docker run -e ADMIN_PASSWORD=my_secure_password custom-odoo
      

2. Alternative: Dynamically Update odoo.conf

If you don’t want to modify the Docker image, you can dynamically write the environment variable into the odoo.conf file during container startup.

Steps:

  1. Mount a Script to Modify odoo.conf:
    • Write a script that reads the ADMIN_PASSWORD environment variable and appends it to /etc/odoo/odoo.conf.
    Example script set_admin_password.sh:
    #!/bin/bash
    
    if [ -n "$ADMIN_PASSWORD" ]; then
        echo "admin_passwd = $ADMIN_PASSWORD" >> /etc/odoo/odoo.conf
    fi
    
    exec "$@"
    
  2. Add the Script in docker-compose.yml:
    services:
      odoo:
        image: odoo:17
        environment:
          - ADMIN_PASSWORD=my_secure_password
        volumes:
          - ./set_admin_password.sh:/usr/local/bin/set_admin_password.sh
        entrypoint: ["bash", "/usr/local/bin/set_admin_password.sh"]
    
  3. Run the Container:
    • The script will dynamically update odoo.conf before the container starts.

3. Combine odoo.conf Files

If you want to merge configuration files, you can copy multiple configuration files into the container and specify which files to include.

Steps:

  1. Create Multiple conf Files:
    • Create a base configuration file (e.g., base.conf) and an additional file for the admin password (e.g., admin.conf).
    Example admin.conf:
    [options]
    admin_passwd = my_secure_password
    
  2. Modify the Entrypoint:
    • Use the --config option to load multiple configuration files.
    • For example:
      odoo --config=/etc/odoo/base.conf --config=/etc/odoo/admin.conf
      
  3. Automate This with Docker:
    • Copy multiple configuration files into the container:
      volumes:
        - ./base.conf:/etc/odoo/base.conf
        - ./admin.conf:/etc/odoo/admin.conf
      
    • Modify the CMD or entrypoint to include the merged configuration.

4. Use a Secret Management Tool

For production, storing sensitive information like admin_passwd in plain text environment variables is not recommended. Use a secret management tool like Docker Secrets or HashiCorp Vault.

Using Docker Secrets:

  1. Create a Secret:
    echo "my_secure_password" | docker secret create odoo_admin_password -
    
  2. Update docker-compose.yml:
    services:
      odoo:
        image: odoo:17
        secrets:
          - odoo_admin_password
    secrets:
      odoo_admin_password:
        file: /run/secrets/odoo_admin_password
    
  3. Update the Entrypoint Script:
    • Read the secret file and add it to odoo.conf:
      if [ -f /run/secrets/odoo_admin_password ]; then
          ADMIN_PASSWORD=$(cat /run/secrets/odoo_admin_password)
          echo "admin_passwd = $ADMIN_PASSWORD" >> /etc/odoo/odoo.conf
      fi
      
      exec "$@"
      

5. Verify the Setup

After implementing the changes, verify that the admin password is set correctly:

  1. Log in to Odoo.
  2. Go to Settings > Activate Developer Mode > General Settings.
  3. Ensure that the admin password is configured under the database management section.

Conclusion

  • While Odoo doesn’t directly support setting admin_passwd via environment variables, you can achieve this by modifying the entrypoint script or dynamically appending the value to odoo.conf.
  • For production environments, consider using secret management tools to enhance security. Let me know if you need further assistance!

1
Imagine profil
Abandonează
Imagine profil
Dominik Ehrenberg
Cel mai bun răspuns

Not sure what version Gracious Joseph used, but using multiple conf files with something like

odoo --config=/etc/odoo/base.conf --config=/etc/odoo/admin.conf

definitely does not work in Odoo 18. It will always use the last conf file provided

0
Imagine profil
Abandonează
Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Înscrie-te
Related Posts Răspunsuri Vizualizări Activitate
Bulk PDF download error
development configuration
Imagine profil
Imagine profil
1
dec. 25
678
XML validation error when installing Pay to Book on Ecommerce on local enterprise
development configuration
Imagine profil
Imagine profil
1
nov. 25
489
Dynamic Dashboard Background and Text on Dark/Light Theme Switch in Odoo 16 sh
development configuration
Imagine profil
Imagine profil
1
nov. 25
524
I am trying to set up a mass BOM edit. My Python code is giving forbidden opcode(s) error. Odoo 18
development configuration
Imagine profil
Imagine profil
Imagine profil
2
sept. 25
1305
Google Calendar Sync - Odoo Calendar
development configuration
Imagine profil
Imagine profil
Imagine profil
3
aug. 25
2277
Comunitate
  • Tutorials
  • Documentație
  • Forum
Open Source
  • Descărcare
  • Github
  • Runbot
  • Translations
Servicii
  • Hosting Odoo.sh
  • Suport
  • Actualizare
  • Custom Developments
  • Educație
  • Găsiți un contabil
  • Găsește un Partener
  • Devino Partener
Despre Noi
  • Compania noastră
  • Active de marcă
  • Contactați-ne
  • Locuri de muncă
  • Evenimente
  • Podcast
  • Blog
  • Clienți
  • Aspecte juridice • Confidențialitate
  • Securitate
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo este o suită de aplicații de afaceri open source care acoperă toate nevoile companiei dvs.: CRM, comerț electronic, contabilitate, inventar, punct de vânzare, management de proiect etc.

Propunerea de valoare unică a Odoo este să fie în același timp foarte ușor de utilizat și complet integrat.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now