Odoo: Instalación sobre Docker

Paso #1

  • En este paso no existe base de datos
  • Odoo se instala desde un archivo docker-compose.yml
    • Véase como estamos exponiendo el puerto 7069 y lo estamos redirigiendo al puerto 8069 de nuestro contenedor, pudiera ser cualquier puerto en vez del 7069 siempre y cuando sea un puerto que no esté en uso para evitar conflictos en nuestro docker.
    • El archivo docker-compose.yml hace uso de una red previamente creada, en este caso la red se llama tidy_net (véase el artículo como crear una red en docker), en este fragmento de código estamos pidiendo a docker que a nuestro container le asigne la ip 172.21.0.6 (solo lo hará si la IP está disponible)
    • Véase el fragmento de configuración environment aquí estamos apuntando al servidor de base de datos (postgres) y estamos usando un usuario y contraseña previamente creados. Dicho usuario en la base de datos postgres tiene privilegios de tipo SuperUser
version: "3.8"
services:
  odoo:
    image: odoo
    restart: unless-stopped
    ports: 
      - "7069:8069"
    volumes: 
      - "./config:/etc/odoo"
      - "../../volumes/odoodev/odoo:/var/lib/odoo"
      - "../../volumes/odoodev/addons:/mnt/extra-addons"
    networks:
      tidy_net:
        ipv4_address: 172.21.0.6
networks:
  default:
    external:
      name: tidy_net
  tidy_net:
    external: true
  • En el volumen ./config tendremos un archivo llamdo odoo.conf es decir ./config/odoo.conf
  • Entre las configuraciones básicas más importantes hasta este momento tenemos:
[options]
; admin_passwd es la contraseña encriptada para proteger y
; administrar las bases de datos (desde la versión web de odoo)
admin_passwd = master_password_encrypted
db_host = 172.21.0.2
db_password = string_password
db_user = odoo_user
  • Para crear el servicio de odoo es necesario ir a la carpeta de odoo (donde está el docker-compose.yml)
docker-compose up -d odoo
  • Podemos comprobar que el container con odoo ha arrancado en:
http://localhost:7069
  • Para entrar el contenedor de odoo
docker exec -ti odoo_container bash
  • Una vez adentro del contenedor se puede ir al siguiente programa y con -h se puede aprender todos los comandos que éste soporta
/usr/bin/odoo -h

Paso #2

  • Si todo el Paso #1 ha funcionado bien podemos terminar de configurar odoo, ya sea por el navegador o por nuestra terminal.
  • Desde el navegador podemos ir a http://localhost:7069
    • Master Password: Definimos una contraseña maestra para las bases de datos (ésta nos ayudará a crear y restaurar respaldos de las bases de datos; y nos permitirá eliminar las bases de datos).
    • Database Name: Definimos un nombre para nuestra base de datos
    • Email: Definimos un email (nos servirá para iniciar sesión como administrador)
    • Password: Definimos una contraseña
    • Phone number: Definimos un número de teléfono
    • Language: Definimos lenguaje
    • Country: Definimos país
    • Demo data: Opcionalmente podemos crear datos dummy
  • Desde la terminal
# Entramos al container y creamos la base de datos
docker exec -ti odoo_container bash
# Desde el container que tiene odoo 
# nos conectamos al contenedor de postgres
# y creamos una base de datos llamada 
# odoodevdb; luego creamos y llenamos 
# las tablas con la información base

/usr/bin/odoo -d odoodb -i base --no-http

# luego salimos del container y lo reiniciamos
docker restart app_app_1

# Con el comando anterior se habrá creado el usuario admin 
# y la contraseña admin automáticamente
# el cual podremos usar en http://localhost:7069/web/login

Paso #3

  • Para poner contraseña maestra a las bases de datos vía web (por primera vez), respaldar, restaurar y borrar la base de datos vaya a:
http://localhost:7069/web/database/manager

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *