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:
Nota
La siguiente guía está basada en Ubuntu.
Paso 1 - Instalación de PostgreSql
Nota
Para nuestro tutorial vamos a contar con una instalación de PostgreSql, recuerda que no es la única manera, puedes utilizar otro contenedor de Docker o una base de datos como servicio para contar con 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
Tip
Para asegurarnos que el servicio esté ejecutándose podemos utilizar el siguiente comando sudo systemctl status 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.
NOTA
Si es la primera vez instalando Odoo vamos a marcar la opción de Data de Prueba
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
Cómo proteger Nginx en Ubuntu con Let’s Encrypt ¿Alguna vez te has encontrado con el mensaje “Este sitio…