1. Creación de ficheros de configuración
@see https://www.cybrosys.com/blog/how-to-install-odoo-16-in-docker
Crear la carpetas
mkdir -p ~/Mydocker/DockerFiles/odoo16 cd ~/Mydocker/DockerFiles/odoo16 mkdir config mkdir custom-addons
En la carpeta "odoo" crear fichero de variables de entorno y darle contenido. Ojo hay que tener en cuenta que los comentarios NO DEBEMOS METERLOS EN LA MISMA LÍNEA, tal y como indica nuestra fuente de información.
nano odoo16_pg13.env
#--------------------------------------------------------------------------
#1. postgresql env variables
#--------------------------------------------------------------------------
#[1] name of the PostgreSQL db that will be created or used by the PostgreSQL server.
POSTGRES_DB=postgres
#[2] db_user. SAME AS odoo.conf db_user
POSTGRES_USER=odoo16
#[3] db_password. SAME AS odoo.conf db_password
POSTGRES_PASSWORD=MyPGPasword
#[4] storage location of DBs and data files of PSQL
# SAME AS docker-compose.yml postgresql.volumes.db
PGDATA=/var/lib/postgresql/data/pgdata
#--------------------------------------------------------------------------
#2. odoo env variables
#--------------------------------------------------------------------------
#[5] Host. SAME AS odoo.conf db_host
HOST=postgresql
#[6] Odoo User
USER=odoo16
#[7] Odoo Password
PASSWORD=MyOdooPassword
Crear también en la carpeta "odoo" el fichero docker-compose.yml y darle el contenido
nano docker-compose.yml
version: '3.1' services: odoo: image: odoo:16.0 env_file: odoo16_pg13.env # environment file depends_on: - postgresql ports: - "8069:8069" #port mapping(custom-port:8069) volumes: - data:/var/lib/odoo - ./config:/etc/odoo - ./custom-addons:/odoo/extra-addons #SAME AS odoo.conf addons_path postgresql: image: postgres:13 env_file: odoo16_pg13.env # environment file volumes: - db:/var/lib/postgresql/data/pgdata ##SAME AS odoo16_pg13.env PGDAT [4] volumes: data: db:
Crear en la carpeta "config" el fichero odoo.conf y añadir contenido
cd config
nano odoo.conf
[options] admin_passwd = XLM28apCNAVcurL+qRnclKO3fBuSX34gijWeia6n db_host = postgresql db_user = odoo16 db_password = MyPGPassword db_port = 5432 addons_path = /mnt/extra-addons
Habiendo conseguido el "admin_passwd" con el comando
openssl rand -base64 30
2. Comprobaciones
Verificar que en el fichero odoo16_pg13.env:
- POSTGRES_DB=postgres
- POSTGRES_USER coincida con db_user del fichero odoo.conf
- POSTGRES_PASSWORD coincida con db_password del fichero odoo.conf
- PGDATA coincida con services.postgresql.volumes.db del fichero docker-compose.yml
- HOST coincida con services.postgresql del fichero docker-compose.yml
Verificar que en el fichero docker-compose.yml:
- services.odoo.env_file=odoo16_pg13.env
- services.odoo.env_file coincida con services.postgresql.env_file
- services.odoo.volumes.custom.add-ons coincida con addons_path del fichero odoo.conf
Verificar que en el fichero odoo.conf:
- db_host coincida con HOST del fichero odoo16_pg13.env
- db_user coincida con POSTGRES_USER del fichero odoo16_pg13.env
- db_password coincida con POSTGRES_PASSWORD del fichero odoo16_pg13.env
- addons_path coincida con services.odoo.volumes.custom.add-ons del fichero docker-compose.yml
Ejecutamos "docker-compose" en la carpeta donde esta el "docker-compose.yml"
cd ..
docker-compose up
Y verificamos el log como que se ha creado bien. Pero este log nos va a dar información de como se corre Postgres y Odoo. Veamos
You can now start the database server using:
pg_ctl -D /var/lib/pgsql/data/pgdata -l logfile start /usr/local/bin/docker-entrypoint.sh: ignoring /docker-entrypoint-initdb.d/* starting PostgreSQL 13.13 (Debian 13.13-1.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit listening on IPv4 address "0.0.0.0", port 5432 listening on IPv6 address "::", port 5432 listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" database system was shut down at 2023-12-19 07:42:24 UTC database system is ready to accept connections odoo: Odoo version 16.0-20231215 odoo: Using configuration file at /etc/odoo/odoo.conf odoo: addons paths: ['/usr/lib/python3/dist-packages/odoo/addons', '/var/lib/odoo/.local/share/Odoo/addons/16.0', '/mnt/extra-addons'] odoo: database: odoo16@psql:5432 odoo.addons.base.models.ir_actions_report: Will use the Wkhtmltopdf binary at /usr/local/bin/wkhtmltopdf odoo.service.server: HTTP service (werkzeug) running on 19dfe0e2e288:8069
3. Creación de la BD del sistema.
Y entramos en la máquina local y en el navegador hacemos
http://localhost:8069/
Y se rellenará el formulario con los siguientes valores
- MasterPasword hay que darle el que le hemos indicado en la propiedad admin_passwd del fichero odoo.conf
- Database Name se puede dar la base de datos a crear por ejemplo my-odoo16-db
- Email del administrador (que nos lo pedirá en la siguiente pantalla de login)
- Password del usuario odoo que hemos dado en el parámetro PASSWORD del fichero odoo16_pg13.env y que nos lo pedirá después en la pantalla de login
- Phone Number el que sea
- Language "Spanish"
- Country Spain
- Demo data opcional
Una vez dadas las credenciales nos mostrará esta pantalla
4. Problemas que pueden aparecer
- Realizar las comprobaciones del punto 2
- Si previamente se ejecutó el docker-compose y falló hay que borrar los volúmenes docker creados. Si hacemos "docker volume ls" aparecen los volúmens "odoo16_data y odoo16_db" que son los que hay que eliminar con "docker volume rm"
5. Detalles del servidor
Si ejecutamos en un terminal
curl --head http://localhost:8069
Obtenemos
HTTP/1.0 303 SEE OTHER Content-Type: text/html; charset=utf-8 Content-Length: 215 Location: http://localhost:8069/web Set-Cookie: session_id=b8b6b264bb467072439cdb04c89dc234796c0e46; Expires=Tue, 26-Dec-2023 10:18:59 GMT; Max-Age=604800; HttpOnly; Path=/ Server: Werkzeug/1.0.1 Python/3.9.2 Date: Tue, 19 Dec 2023 10:18:59 GMT
Siendo http://localhost:8069/web la URL del instalador de Odoo
No hay comentarios :
Publicar un comentario