sábado, febrero 18, 2023

Instalar Odoo en Contenedor Docker por ssh

Hoja de ruta:

  1. Instalar SO en máquina anfitriona
  2. Habilitar SSH
  3. ingresar por SSH y continuar:
  4. Preparar directorios para volúmenes
  5. instalar docker y docker-compose
  6. Instalar contenedor Portainer
  7. Instalar contenedor Postgres
  8. Instalar contenedor Odoo
  9. Instalar contenedor Pgadmin4
  10. poder agregar módulos en los volúmenes
  11. preparar instalador docker-compse.yml para postgres+odoo


Habilitar SSH

https://www.ionos.es/digitalguide/servidores/configuracion/ubuntu-ssh/

sudo apt install openssh-server

sudo systemctl status ssh

sudo systemctl enable ssh

sudo systemctl start ssh

Abrir el puerto SSH

sudo ufw allow ssh

UFW es el programa de configuración de Ubuntu para su propio firewall. Configura una regla para la comunicación SSH con este programa, de modo que el puerto esté abierto para los datos entrantes y salientes:

Para ver la ip:

sudo apt install net-tools

ifconfig     192.168.1.105

ip a

Para acceder por ssh:

ssh 192.168.1.105

Preparar directorios para volúmenes

Crear los directorios dónde irán los volúmenes. (cambiar rutas y carpetas por las elegidas para la máquina anfitriona)

/home/fernando/odoo: nombre de carpeta dónde irán los volúmenes, adaptar a las rutas respectivas de la máquina anfitriona


mkdir /home/fernando/odoo

mkdir /home/fernando/odoo/mnt/extra-addons

mkdir /home/fernando/odoo/var/lib/odoo

mkdir /home/fernando/odoo/logs         

mkdir /home/fernando/odoo/etc/odoo


IMPORTANTE:  crear etc/odoo/odoo.conf y odoo/logs/odoo.log


instalar docker y docker-compose
https://help.wnpower.com/hc/es/articles/360048910771-C%C3%B3mo-instalar-Docker-en-tu-servidor-con-Ubuntu
  1. Loguéate con root a tu consola de comandos.

  2. Primero, instala los requisitos iniciales corriendo estos comandos.
    sudo apt-get update

    sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
  3. Ahora instala la llave.
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  4. Agregaremos en este paso el repositorio de Docker.
    sudo add-apt-repository \
    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
    $(lsb_release -cs) \
    stable"
  5. Instala los paquetes.
    sudo apt-get update
    sudo apt-get install docker-ce docker-ce-cli containerd.io

    Si durante el proceso de instalación arroja el error "dpkg: error processing package linux-image-unsigned-..." puedes desestimarlo sin problema.

  6. Prueba la instalación usando comando de "hola mundo".
    sudo docker run hello-world
  7. Si todo salió bien veremos el siguiente mensaje.
    latest: Pulling from library/hello-world
    0e03bdcc26d7: Pull complete
    Digest: sha256:49a1c8800c94df04e9658809b006fd8a686cab8028d33cfba2cc049724254202
    Status Downloaded newer image for hello-world:latest
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    To generate this message, Docker took the following steps:
    1. The Docker client contacted the Docker daemon.
    2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
    3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
    4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.
    To try something more ambitious, you can run an Ubuntu container with:
    $ docker run -it ubuntu bash
    Share images, automate workflows, and more with a free Docker ID:
    https://hub.docker.com/
    For more examples and ideas, visit:
    https://docs.docker.com/get-started/
  8. Listo, Docker ya está instalado en tu servidor.


VEr el link también para instalar un usuario de Docker y un contenedor de wordpress: https://help.wnpower.com/hc/es/articles/360048910771-C%C3%B3mo-instalar-Docker-en-tu-servidor-con-Ubuntu





Instalar contenedor Portainer

sudo docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

https://localhost:9443/ 

User admin:**********


Instalar contenedor Postgres
Contenedor de Postgres crea el directorio psq


sudo docker run -d -v /home/fernando/odoo/psq:/var/lib/postgresql/data -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo -e POSTGRES_DB=postgres -p5432:5432 --name db --add-host=docker:172.17.0.3 --restart always postgres:13


Instalar contenedor Odoo



  • –name: indica el nombre del Docker en el sistema.

  • -t odoo:14  indica la versión a instalar


Arrancar el contenedor, con sus parámetros


Uno simple de prueba:


sudo docker run -d -p 8069:8069 --name Odoo --restart always --link db:db -t odoo


Uno con todos los volúmenes:


IMPORTANTE: 

los volúmenes deben estar indicados en odoo.conf, 

y odoo.conf cargado en /etc/odoo


sudo docker run -d -v /home/fernando/odoo/mnt/extra-addons:/mnt/extra-addons -v /home/fernando/odoo/log/odoo:/var/log/odoo -v /home/fernando/odoo/var/lib/odoo:/var/lib/odoo -v /home/fernando/odoo/etc/odoo:/etc/odoo -p 8069:8069 --name Odooconvol --restart always --link db:db -t odoo


odoo.conf ejemplo

[options]

addons_path = /mnt/extra-addons

data_dir = /var/lib/odoo

;admin_passwd = Tela+0+Rojo

admin_passwd = odoo

db_host = 172.17.0.3

db_maxconn = 100

db_password = odoo

db_user = odoo

limit_time_cpu = 5400

limit_time_real = 14400 

list_db = True

logfile = /var/log/odoo/odoo.log

logrotate = True

max_cron_threads = 1

proxy_mode = True

syslog = False

workers = 8

xmlrpcs_port = 8069

without_demo = all

[queue_job]

channels = root:4





Instalar Docker Pgadmin4 (en construc.)

https://www.pgadmin.org/docs/pgadmin4/latest/container_deployment.html

docker pull dpage/pgadmin4

docker run -p 80:80 \

    -e 'PGADMIN_DEFAULT_EMAIL=user@domain.com' \

    -e 'PGADMIN_DEFAULT_PASSWORD=SuperSecret' \

    -d dpage/pgadmin4


Instalar Pgadmin4

# Install the public key for the repository (if not done previously):

curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg


# Create the repository configuration file:

sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update'


#

# Install pgAdmin

#


# Install for both desktop and web modes:

sudo apt install pgadmin4


# Install for desktop mode only:

sudo apt install pgadmin4-desktop


# Install for web mode only: 

sudo apt install pgadmin4-web 


# Configure the webserver, if you installed pgadmin4-web:

sudo /usr/pgadmin4/bin/setup-web.sh



User  fersystem@gmail.com : ***********

ver df -h: 


con cuidado por que reinicia el apache……