0% encontró este documento útil (0 votos)
26 vistas8 páginas

Instalar Odoo 18 con Docker Compose

El documento detalla el proceso de instalación de Odoo 18 utilizando Docker Compose, proporcionando un archivo de configuración en formato YAML. Se explican los servicios involucrados, incluyendo Odoo y PostgreSQL, así como la configuración de volúmenes y variables de entorno necesarias para su funcionamiento. Además, se incluyen instrucciones para ejecutar el contenedor y personalizar la configuración de Odoo.

Cargado por

maria
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
26 vistas8 páginas

Instalar Odoo 18 con Docker Compose

El documento detalla el proceso de instalación de Odoo 18 utilizando Docker Compose, proporcionando un archivo de configuración en formato YAML. Se explican los servicios involucrados, incluyendo Odoo y PostgreSQL, así como la configuración de volúmenes y variables de entorno necesarias para su funcionamiento. Además, se incluyen instrucciones para ejecutar el contenedor y personalizar la configuración de Odoo.

Cargado por

maria
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

UT2.

INSTALACIÓN DE ODOO 18 EN DOCKER COMPOSE


2º DAM. SISTEMAS DE GESTIÓN EMPRESARIAL

Tabla de contenido
INTRODUCCIÓN ................................................................................................................... 2
INSTALACIÓN DE ODOO 18 CON DOCKER COMPOSE........................................................... 2
¿Qué es un fichero yml o yaml? .......................................................................................... 5
Explicación del fichero yml cargado con Docker Compose .................................................. 5
Servicio web (Odoo) ...................................................................................................................... 6
Volúmenes en el contenedor web (Odoo) ..................................................................................... 6
Servicio db (PostgreSQL) ............................................................................................................... 7

Página 1
UT2. INSTALACIÓN DE ODOO 18 EN DOCKER COMPOSE
2º DAM. SISTEMAS DE GESTIÓN EMPRESARIAL

INTRODUCCIÓN

Vamos a ver la forma de instalar Odoo sobre Docker con un archivo Docker
Compose.
Esta forma es una manera más automatizada y que te permitirá poder repetir la
instalación con un solo comando.

Te aconsejo que leas el documento poco a poco e intentes entender todas los
pasos que se van realizando. Cuando lo entiendas sólo será cuestión de 2
minutos de instalar Odoo.

INSTALACIÓN DE ODOO 18 CON DOCKER COMPOSE

Con estas opción de instalación, haremos toda la configuración en una sola vez.

Lo primero de todo. Vamos a necesitar un directorio de desarrollo en nuestro


equipo. En mi caso he elegido el siguiente directorio odoo_dev:

/Users/fernandofresno/Documents/odoo_dev

En este directorio crearemos un fichero con formato yml. Este fichero tiene que
tener el nombre docker-compose.yml y copiaremos el siguiente contenido:

(Puedes leer la explicación de este archivo yml al final del documento)

version: '3.3'

services:
#Definimos el servicio Web, en este caso Odoo
web:
#Indicamos que imagen de Docker Hub utilizaremos
image: odoo:latest
#Indicamos que depende de "db", por lo cual debe ser procesada primero
"db"
depends_on:
- db
# Port Mapping: indicamos que el puerto 8069 del contenedor se mapeara con
el mismo puerto en el anfritrion
# Permitiendo acceder a Odoo mediante http://localhost:8069
ports:
- 8069:8069
# Mapeamos el directorio de los contenedores (como por ejemplo"
/mnt/extra-addons" ) en un directorio local (como por ejemplo en un directorio
"./odoo_dev/my_addons")
# situado en el lugar donde ejecutemos "Docker compose"
volumes:
- ./my_addons:/mnt/extra-addons
- ./odoo_data/filestore:/var/lib/odoo/filestore

Página 2
UT2. INSTALACIÓN DE ODOO 18 EN DOCKER COMPOSE
2º DAM. SISTEMAS DE GESTIÓN EMPRESARIAL

- ./odoo_data/odoo/sessions:/var/lib/odoo/sessions
- ./odoo_config:/etc/odoo
- ./logs:/var/log/odoo
#Indicamos que el contenedor funcionara con usuario root y no con usuario
odoo
user: root
# Definimos variables de entorno de Odoo
environment:
- HOST=db
- USER=odoo
- PASSWORD=odoo
# Indica que pasa ese parametro al arrancar el servicio Odoo
command: --dev=all
#Definimos el servicio de la base de datos
db:
image: postgres:latest
ports:
- 5432:5432
# Definimos variables de entorno de PostgreSQL
environment:
- POSTGRES_PASSWORD=odoo
- POSTGRES_USER=odoo
- POSTGRES_DB=postgres
# Mapeamos el directorio del contenedor "var/lib/postgresql/data" en un
directorio local
volumes:
- ./odoo_data/dataPostgres:/var/lib/postgresql/data

IMPORTANTE: Edita y cambia el archivo yml. Los directorios se llamarán:


my_addons, odoo_data y odoo_config dentro del directorio odoo_dev. Puedes
llamarlos igual.

En el directorio odoo_config tendrás que tener una copia de este archivo de


configuración de Odoo 18. Puedes obtenerlo de aquí odoo.conf
https://github.com/odoo/docker/tree/master/18.0

Y desde una terminal lanzaremos el siguiente comando

docker-compose up -d

Es posible que si ese comando no te funciona puedas usar el siguiente de la


versión más reciente de Docker:

docker compose up -d

Página 3
UT2. INSTALACIÓN DE ODOO 18 EN DOCKER COMPOSE
2º DAM. SISTEMAS DE GESTIÓN EMPRESARIAL

Todo deberá quedar así

Y voilá! Tendremos instalado Odoo y preparado para desarrollar módulos.

Por último, abre el fichero odoo.conf y comprobarás que habrá cambiado el


archivo. Se habrán eliminado las líneas comentadas y ha aparecido una clave
de acceso encriptada.
Añade la siguiente línea al final del archivo.

log_file = /var/log/odoo/odoo.log

Deberá quedar más o menos así.

[options]
addons_path = /mnt/extra-addons
data_dir = /var/lib/odoo
admin_passwd = $pbkdf2-sha512$600000$******************************
log_file = /var/log/odoo/odoo.log

Página 4
UT2. INSTALACIÓN DE ODOO 18 EN DOCKER COMPOSE
2º DAM. SISTEMAS DE GESTIÓN EMPRESARIAL

Entramos en la terminal del contenedor de Odoo.

Cambiamos los permisos de escritura en el directorio /var/log/odoo y reiniciamos


el contenedor.

También podríamos reiniciarlo pulsando sobre el icono seleccionado con un


circulo

De esta manera conseguiremos configurar el fichero de log en nuestro local y


aparecerá en nuestra carpeta local.

¿QUÉ ES UN FICHERO YML O YAML?

Un archivo YAML (con extensión .yml o .yaml) es un archivo de texto que utiliza
la sintaxis de YAML (YAML Ain't Markup Language) para estructurar datos de
manera legible. YAML es popular por su simplicidad.
Se usa para ficheros de configuración y lo más importante es mantener la
indentación con espacios (Usa espacios y saltos de línea para organizar datos
en jerarquías. No permite tabuladores; solo se pueden usar espacios para la
indentación.)

EXPLICACIÓN DEL FICHERO YML CARGADO CON DOCKER COMPOSE

Voy a desglosar el archivo docker-compose.yml línea a línea para que puedas


entender cada parte y cómo contribuye a la instalación de Odoo y PostgreSQL,
con persistencia de datos mediante volúmenes:

Página 5
UT2. INSTALACIÓN DE ODOO 18 EN DOCKER COMPOSE
2º DAM. SISTEMAS DE GESTIÓN EMPRESARIAL

version: '3.3'

Versión: Especifica la versión del esquema de docker-compose que estamos


usando, en este caso, la 3.3.

services:

Servicios: Define los servicios que queremos ejecutar. Aquí tenemos dos: web
(para Odoo) y db (para PostgreSQL).

Servicio web (Odoo)


web:

Nombre del servicio: Se define como web, pero podría llamarse como prefieras
(por ejemplo, odoo).

image: odoo:latest

Imagen de Docker: Especifica la imagen de Odoo que se usará, odoo:latest.


latest se refiere a la versión más reciente de Odoo.

depends_on:
- db

Dependencia: Indica que el contenedor web (Odoo) depende del servicio db


(PostgreSQL) y que db debe iniciarse primero.

ports:
- 8069:8069

Mapeo de puertos: El puerto 8069 del contenedor se mapea con el puerto 8069
del anfitrión. Esto permite acceder a Odoo desde el navegador en
http://localhost:8069.

Volúmenes en el contenedor web (Odoo)

volumes:
- ./my_addons:/mnt/extra-addons
- ./odoo_data/filestore:/var/lib/odoo/filestore
- ./odoo_data/odoo/sessions:/var/lib/odoo/sessions
- ./odoo_config:/etc/odoo
- ./logs:/var/log/odoo

Volúmenes: Mapea directorios locales con rutas específicas dentro del


contenedor, asegurando que los datos persistan entre reinicios del contenedor:

Página 6
UT2. INSTALACIÓN DE ODOO 18 EN DOCKER COMPOSE
2º DAM. SISTEMAS DE GESTIÓN EMPRESARIAL

1. ./my_addons:/mnt/extra-addons: Mapea un directorio local (my_addons)


para almacenar módulos personalizados en la ruta de Odoo /mnt/extra-
addons.
2. ./odoo_data/filestore:/var/lib/odoo/filestore: Guarda archivos
subidos a Odoo en el directorio filestore, persistiendo en
odoo_data/filestore en el host.
3. ./odoo_data/odoo/sessions:/var/lib/odoo/sessions: Guarda sesiones
de usuario en odoo_data/odoo/sessions en el host.
4. ./odoo_config:/etc/odoo: Permite modificar la configuración de Odoo
desde un archivo local en el directorio odoo_config.
5. ./logs:/var/log/odoo: Mapea un directorio local para almacenar logs de
Odoo, facilitando el acceso a los registros en ./logs.

user: root

Usuario: Ejecuta el contenedor como root en lugar del usuario predeterminado


odoo. Esto da acceso completo a los archivos y directorios dentro del contenedor.

environment:
- HOST=db
- USER=odoo
- PASSWORD=odoo

Variables de entorno: Define configuraciones de conexión para Odoo. Aquí,


HOST=db especifica el nombre del servicio de base de datos (PostgreSQL),
mientras que USER y PASSWORD definen las credenciales para acceder a la base de
datos.

command: --dev=all

Comando: La opción --dev=all activa el modo desarrollador de Odoo, lo que


habilita la recarga automática y otras funcionalidades útiles para desarrollo.

Servicio db (PostgreSQL)
db:

Nombre del servicio: db, el servicio de base de datos PostgreSQL.

image: postgres:latest

Imagen de Docker: Usa la imagen postgres:latest, que instala la última versión


de PostgreSQL.
ports:
- 5432:5432

Mapeo de puertos: Mapea el puerto 5432 (puerto predeterminado de


PostgreSQL) del contenedor al puerto 5432 del anfitrión, permitiendo conexiones
externas (por ejemplo, desde clientes de base de datos).

Página 7
UT2. INSTALACIÓN DE ODOO 18 EN DOCKER COMPOSE
2º DAM. SISTEMAS DE GESTIÓN EMPRESARIAL

environment:
- POSTGRES_PASSWORD=odoo
- POSTGRES_USER=odoo
- POSTGRES_DB=postgres

Variables de entorno: Configura PostgreSQL con un nombre de usuario


(POSTGRES_USER=odoo), una contraseña (POSTGRES_PASSWORD=odoo) y un nombre
de base de datos predeterminado (POSTGRES_DB=postgres).

volumes:
- ./odoo_data/dataPostgres:/var/lib/postgresql/data

Volúmenes: Mapea ./odoo_data/dataPostgres en el host a


/var/lib/postgresql/data en el contenedor, garantizando que los datos de la
base de datos persistan en reinicios.

En resumen, este archivo docker-compose.yml configura y mapea Odoo y


PostgreSQL con volúmenes locales, lo que permite persistencia de datos,
facilidad para desarrollar módulos personalizados, y acceso directo a logs y
configuración de Odoo.

Página 8

También podría gustarte