Cómo instalar una instancia de Odoo con Docker

Odoo es uno de los ERPs más utilizados por diversas industrias, por lo que cada vez más negocios que se encuentran en proceso de transformación digital se están familiarizando con su uso. En esta ocasión encontrarás todo lo necesario para poder instalar una instancia de Odoo utilizando Docker y una base de datos en PostgreSql.

Antes de Iniciar

Para poder seguir con esta instalación, necesitas conocer un poco sobre Docker y contar con un servidor o instalación local del mismo. Solo veremos temas de instalación utilizando Docker Compose, si quieres saber un poco más sobre el tema puedes investigar lo siguiente:

Paso 1 - Instalación de PostgreSql

Para instalar PostgreSql vamos primero a ejecutar el siguiente comando:
sudo apt update
Luego vamos a ejecutar el siguiente comando de instalación:
sudo apt install postgresql postgresql-contrib
Por último, vamos a inicializar el servicio de la base de datos, ejecutando el siguiente comando:
sudo systemctl start postgresql.service

Paso 2 - Configuración de nuestra base de datos

Para poder utilizar Odoo vamos a necesitar crear un usuario para nuestra base de datos y darle los permisos necesarios.
Comenzaremos ingresando a nuestro motor de PostgreSql con el siguiente comando:
sudo -u postgres psql
Luego procederemos a crear nuestro usuario con el siguiente comando:
CREATE USER youruser WITH ENCRYPTED PASSWORD 'yourpass';
Luego vamos a darle permisos a nuestro usuario para poder crear bases de datos, con el siguiente comando:
ALTER ROLE youruser CREATEDB;
¡Listo! Ya hemos finalizado con la configuración de nuestra base de datos, para salir a nuestra consola de Ubuntu y seguir nuestra configuración presiona Ctrl+D.

Paso 3 - Instalar Docker Compose

Para poder iniciar nuestra imagen de Docker de una manera más eficiente y poder tener funciones de orquestación, vamos a utilizar Docker Compose. Para instalarlo, vamos a ejecutar el siguiente comando:
sudo apt install docker-compose
Tras haberlo instalado, vamos a verificar que todo esté en orden ejecutando el siguiente comando:
docker-compose –versión

Paso 4 – Crear usuario para Docker en Ubuntu

Para no utilizar nuestro usuario root para este tipo de operaciones vamos a crear un nuevo usuario y le vamos a dar todos los permisos necesarios, para proceder vamos a crear el usuario con este comando
sudo adduser newuser
Luego le daremos permisos de sudo a nuestro usuario con el siguiente comando:
usermod -aG sudo newuser
Luego le agregaremos nuestro nuevo usuario al grupo de Docker con el siguiente comando:
usermod -aG docker newuser
Por último, vamos a iniciar sesión con nuestro nuevo usuario para lo que utilizaremos el siguiente comando:
sudo su – newuser

Paso 5 – Crear nuestro archivo de Compose

A continuación, vamos a crear nuestro archivo de compose para poder descargar nuestra imagen de Odoo, como primer punto, vamos a crear una carpeta e ingresar a ella.
mkdir ~/odoo
cd ~/odoo
Luego vamos a crear nuestro archivo de compose con el siguiente comando:
sudo nano docker-compose.yml
Dentro de nuestro archivo vamos a colocar lo siguiente:
versión: '3'
services:
  odoo:
    image: odoo:17.0
    env_file: .env
    ports:
      - "8069:8069"
    volumes:
      - data:/var/lib/odoo
  
volumes:
  data:
Luego de guardarlo, vamos a crear Nuestro archivo de variables de entorno con el siguiente comando:
sudo nano .env
En nuestro archivo, vamos a agregar nuestro Host de PostgreSql con el usuario y contraseña.
# odoo environment variables
HOST=postgres
USER=odoo
PASSWORD=a_strong_password_for_user
¡Listo! Finalizamos con todos nuestros preparativos, ahora solo queda iniciar nuestro contenedor.

Paso 6 – Iniciar el contenedor

Nuestro último paso será iniciar nuestro contenedor y eso lo haremos con un solo comando:
docker-compose up -d
Cuando se finalice de ejecutar el comando, podrás acceder a la IP de tu servidor o localhost en el puerto 8069 el cual te llevará a la instalación inicial de Odoo.

Paso 7 – Configurar Odoo

Para la configuración de Odoo, vamos a llenar unos datos que se nos muestran en pantalla y eso sería todo el proceso.

Consideraciones

Si se utilizara una instancia de PostgreSql externa al servidor donde este Odoo, se requiere una configuración adicional para permitir este tipo de conexiones. Para eso, vamos a buscar en la siguiente ruta: /etc/postgresql/[version]/main/postgresql.conf el archivo de configuración postgresql.conf y vamos a cambiar el parámetro listen_addresses de esta manera:
listen_addresses = '*'
Luego vamos a buscar nuestro archivo pg_hba.conf en la siguiente ruta: /etc/postgresql/[version]/main/pg_hba.conf
Aquí vamos a agregar en nuestra tabla, si quisiéramos permitir conexiones de todos lados.
host all all 0.0.0.0/0 md5
O si únicamente vamos a permitir conexiones de una IP en específico.
host all all 192.168.1.0/24 md5
Por último, reiniciamos nuestro servicio de PostgreSql para que nuestros cambios tomen efecto.
sudo service postgresql restart
¡Listo! Ya puedes disfrutar de tu instalación de Odoo, te recomendamos apuntar un dominio utilizando Nginx como Proxy Pass y luego añadir un certificado de seguridad con Lests Encrypt, puedes seguir cada una de las guías en los siguientes links
Como Instalar LEMP Stack en Ubuntu Hoy aprenderemos a instalar uno de los Stacks para servidores…
Cómo proteger Nginx en Ubuntu con Let’s Encrypt ¿Alguna vez te has encontrado con el mensaje “Este sitio…

Leave a Comment

Scroll to Top