Formación Dockers

INSTALACIÓN DE ODOO CON DOCKERS EN UN SERVIDOR

1. Asegurarnos de tener acceso mediante ssh a una máquina virtual ya creada. Lo primero será actualizar el apt e instalar docker, nano y git.

sudo apt update
sudo apt install docker.io
sudo apt install git
sudo apt install nano

Le damos permiso a docker para que no nos pida el sudo:

sudo usermod -aG docker nombreusuario

2. Instalamos el contenedor de postgres.

Lo podemos encontrar en la documentación oficial https://hub.docker.com/_/odoo

El primero es para levantar un contenedor de postgres. Los comandos son:

docker run -d -e POSTGRES_USERNAME=odoo -e POSTGRES_PASSWORD=odoo --name db postgres:10

Una vez instalado el contenedor accedemos primero al docker de postgres:

docker exec -it -u postgres db bash

Y una vez dentro creamos el usuario y la contraseña entrando a psql:

CREATE USER odoo SUPERUSER password 'odoo';

Y reiniciamos el docker:

docker restart db

3. Ahora instalamos el contenedor de odoo vinculado con la base de postgres:

docker run -p 8079:8069 --name odoo-test --link db:db -t odoo:12.0
docker run -p 8069:80 --name odoo-server --link db:db -t odoo:12.0

En este paso hay que poner atención a la parte donde pone db:db, ya que la primera db es el nombre de la base de postgres. Si sólo vamos a crear un odoo por máquina no tenemos problema.

NOTAS: En caso de que creemos dos instancias por máquina, crearemos dos máquinas odoo apuntando al mismo docker de postgres.

A TENER EN CUENTA: Nos aseguraremos en la configuración de cada instancia de que cada odoo apunta a un puerto diferente. Por lo general sería 8069 para pro y 8079 para test.

Aquí lo idea es que Diego nos haga dos dominios para la misma máquina en distintos puertos. Ejemplo:

cliente.test.praxya.com -> Accede a la máquina del cliente puerto 8079 para test

cliente.praxya.com -> Accede a la máquina del cliente para 8069 para pro en caso de que pro esté en nuestro servidor

4. Ya tenemos instaladas las dos instancias de odoo en la máquina virtual. Lo siguiente será clonar el repositorio e incluirlo en el fichero odoo.conf. 

Entramos y clonamos el repositorio en la instancia de test que previamente habremos creado en git (ver documentación de git):

git clone -b test http://gitlab.praxya.com/deployer/cliente/addons.git dentro de /odoo/custom-test/cliente-addons
git clone http://gitlab.praxya.com/deployer/cliente/addons.git dentro de /odoo/custom/cliente-addons 

5. Lo último será hacer que se nos arranquen los dockers solos para que, en caso de reinicio de la máquina, podamos tener acceso a odoo.

https://www.it-swarm-es.com/es/docker/como-hago-que-un-contenedor-docker-se-inicie-automaticamente-al-iniciar-el-sistema/1053641677/

Creamos un fichero que es el que dará las credenciales al sistema para arrancar odoo solo.

$ nano /etc/systemd/system/docker-server.service

Dentro de este fichero lo rellenamos con lo siguiente:

[Unit]
Description=Redis container
Requires=docker.service
After=docker.service

[Service]
Restart=always
ExecStart=/usr/bin/docker start -a db
ExecStop=/usr/bin/docker stop -t 2 db
ExecStart=/usr/bin/docker start -a odoo
ExecStop=/usr/bin/docker stop -t 2 odoo

[Install]
WantedBy=default.target

Al terminar habilitamos el servicio al inicio:

Sudo systemctl enable docker-server.service

6. A tener en cuenta al desarrollar. 

  • Cuando hagamos un pull y necesitemos reiniciar la máquina, reiniciaremos el docker de odoo
docker restart odoo
Deja una respuesta 0

Your email address will not be published. Required fields are marked *