/docker_aconcagua

Docker+Buildout para tener Odoo corriendo con los módulos de Proyecto Aconcagua

Primary LanguageShell

Odoo Dockerfile

Utilización

Para utilizarlo primero podemos hacer un docker build

docker build -t="$USER/odoo" .

Por ejemplo, nosotros utilizamos como tagname skennedy/odoo.

Luego podemos lanzarlo de la siguiente manera:

docker run -ti -rm -v $PWD/build:/opt/buildout -v /opt/odoo/odoo8:/opt/buildout/parts/odoo --name odootest7 skennedy/odoo

PostgreSQL

Datastore en otro container

Se utiliza el link con otro container. Hay varias imagenes de PostgreSQL en Docker Hub. Nosotros elegimos utilizar sameersbn/postgresql:9.1-1. Allí podemos ver las instrucciones correspondientes. Los pasos que nosotros utilizamos fueron los siguientes:

    docker pull sameersbn/postgres:9.1-1
    sudo mkdir -p /opt/postgresql_docker/data
    sudo chown -R username:users /opt/postgresql_docker/
    docker run -d --name postgresql -e 'DB_USER=odoo' -e 'DB_PASS=pass' -v /opt/postgresql_docker/data/:/var/lib/postgresql sameersbn/postgresql:9.1-1

De esta manera, el datastore nos queda en el Host y no se reinicializa cada vez que restarteamos el container. Las variables de entorno que definimos al lanzarlo se utilizan luego en el buildout.cfg y ya configura correctamente el archivo openerp.cfg con esos datos.

Si quisieramos acceder al postgreSQL:

psql -U postgres -h $(docker inspect --format {{.NetworkSettings.IPAddress}} postgresql)

Link con el container de PostgreSQL

Es importante que el link se haga con el nombre db ya que esto está configurado luego en el buildout.cfg.

Para lanzar el container realizando el link con el postgreSQL con los volumes y el puerto expuesto:

docker run -ti -rm -p 8099:8069 -v $PWD/build:/opt/buildout -v /home/usuario/.buildout/odoo7:/opt/buildout/parts/odoo --link postgresql:db --name odoopycon skennedy/odoo

Notas

El password de odoodev es password Igualmente, pertenece al group sudo y no necesita password para sudo.

TODO:

Explicar por qué los volúmenes que montamos.