Una solución flexible, rápida, para impulsar proyectos de Odoo en producción.
- Versiones soportados de Odoo (
13.0
,13
,14.0
,14
,15.0
,15
,latest
). - Versiones soportados de PostgreSQL(
10
,11
,12
,13
,14
,alpine
,latest
).
- Para multiples versiones de Odoo
- Multiples instancias en un mismo servidor
- Configuraciones de desarrollo y producción optimizadas
- Compatibilidad con Docker mediante docker-compose para desarrollo y producción
- Contraseña generada con OpenSSL
- Docker
- Docker Compose
- [Git][git]
- [Curl][curl]
Crea un nuevo proyecto de odoo
ejecutando el siguiente comando; ingrese Nombre del proyecto
, y
elija la versión de Odoo
.
bash <(curl -s https://gitlab.com/sre_resource/docker/odoo-docker-compose/-/raw/main/run.sh)
Advertencia: después de este punto, cambie 'super_ecommerce'. a su propia información. Por ejemplo:
Nombre del proyecto [quickstart]: super_ecommerce
...
Seleccione versión de Odoo:
1) latest
2) 16
3) 16.0
4) 15
5) 15.0
6) 14
7) 14.0
8) 13
9) 13.0
Seleccione de 1, 2, 3, 4, 5, 6, 7, 8, 9 [1]:
Configurando...
...
Puede tardar unos minutos, tenga paciencia mientras se implementa
Al finalizar la instalación podrá visualizar contenido similar, sigue estos pasos para terminar de crear su proyecto.
NOMBRE: super_ecommerce
ESTADO: Implementado
NOTAS:
**Puede tardar unos minutos, tenga paciencia mientras se implementa**
1. Pude acceder a super_ecommerce a travéz de
http://localhost:8054 o http://host-ip:8054
2. Obtenga la contraseña ejecutando el comando:
cat super_ecommerce/.env | grep DB_PASSWORD
En el siguiente formulario deberá ingresar Master Password
, para obtener la contraseña deberá ejecutar el siguiente
comando (Ejucanto el paso "2" después de la instalación del proyecto):
cat super_ecommerce/.env | grep DB_PASSWORD
Copie el valor de DB_PASSWORD
e ingrese en su formulario de Odoo
.
DB_PASSWORD=4D0Uv1G9wm08rXoboTAqHlkqK/Ui79QHCincSr9SY3I=
Paso Opcional: Entre en el proyecto, (Recuerde remplazar el nombre del proyecto) y puede listar el contenido.
cd super_ecommerce
ls
Es posible que necesite iniciar, reiniciar o detener el proyecto de Odoo, asegurese de estar en el directerio de trabajo. Ejecute la instrucción deseada.
Iniciar
docker compose up -d
Reiniciar
docker compose restart
Detener
docker compose down
Esta guía está inspirada para sistema operativo GNU/Linux. Sin tratar de apoyar a cada posible caso de uso, aquí son sólo algunas que hemos encontrado útiles.
-
Permisos
: Odoo necesita permisos de lectura y escritura para poder crear un módulo, acceda a su proyecto y ejecute este comando.chmod 777 odoo/addons
-
Addon
: Crea un nuevo módulo ejecutando el comando que se muestra a continuación.docker exec -d odoo-$PROJECT_NAME /usr/bin/odoo scaffold $ADDON /mnt/extra-addons
Remplace los argumentos:
$PROJECT_NAME
: Nombre del proyecto que declaró al momento de iniciar una instancia de odoo.$ADDON
: Nombre que recibirá el nuevo módulo.
El finalizar la ejecución del comando, se creará una estructra similar a ésta.
├── controllers │ ├── controllers.py │ └── __init__.py ├── demo │ └── demo.xml ├── __init__.py ├── __manifest__.py ├── models │ ├── __init__.py │ └── models.py ├── security │ └── ir.model.access.csv └── views ├── templates.xml └── views.xml
-
$USER
: Cambia el propietario de addon recién creado, sino cambia el propietario no podrá editar el código fuente fuera del contenedor.sudo chown -R $USER:$USER odoo/addons/$ADDON
Remplace el argumento
$ADDON
, por el nombre del módulo recien creado. -
Restart
: Para que el nuevo módulo se pueda instalar desde el panel de administración del proyctoOdoo
debe de reiniciar el servicio.docker-compose restart
Ajustar estas variables de entorno para conectar fácilmente a un gestor de base de datos PostgreSQL con su
proyecto Odoo
. Las variable de entorno están alojados en el archivo .env
-
PROJECT
: Esta opcional variable de entorno se utiliza para definir un nombre diferente para los proyectos deOdoo
. No debe estar vacío. -
ODOO_VERSION
: Esta variables de entorno es necesaria para utilizarOdoo
. No debe estar vacio. En esta variable de entorno se establece la version soportado y mantenida por Odoo. -
PORT
: Esta opcional variable de entorno es necesaria para utilizarOdoo
. No debe estár vacio. Se implementa para exponer el puerto que escuchará el contenedor del proyecto Odoo.
-
POSTGRES_VERSION
: Esta variables de entorno es necesaria para utilizar PostgreSQL. No debe estar vacio. En esta variable de entorno se establece la version soportado y mantenida por Postgres.(Consulte aquí) , Por defecto utiliza la versionalpine
. -
POSTGRES_USER
: Este opcional variable de entorno se utiliza en conjunción conPOSTGRES_PASSWORD
configurar un usuario y su contraseña. Esta variable va a crear el usuario especificado con permisos de superusuario y una base de datos con el mismo nombre. Si no se especifica, el valor predeterminado de usuario depostgres
va a ser utilizado. -
POSTGRES_DB
: Este opcional variable de entorno se pueden utilizar para definir un nombre diferente para la base de datos por defecto que se crea cuando la imagen se inicia por primera vez. Si no es especificado, entonces el valor dePOSTGRES_USER
va a ser utilizado. -
POSTGRES_PASSWORD
: Esta variable de entorno es necesaria para utilizar PostgreSQL. No debe estar vacío o indefinido. Esta variable de entorno se establece la contraseña de superusuario para PostgreSQL. El valor predeterminado de superusuario se define por laPOSTGRES_USER
la variable de entorno.
Nota importante: Hay varias maneras de guardar los datos usados por las aplicaciones que se ejecutan en contenedores
docker. Animamos a los usuarios de las a familiarizarse con las opciones disponibles
.