Una solución flexible y rápida para implementar multiples instancias de Odoo
en un servidor. Algunas razónes por las que usted podría usar esta guía.
- Versiones soportados de Odoo (
12.0
,12
,13.0
,13
,14.0
,14
,latest
). - Versiones soportados de PostgreSQL(
10
,11
,12
,13
,alpine
,latest
). - Configuración optimizada para entorno de desarrollo y producción.
- Integración con Nginx Proxy Manager.
-
Instale docker y docker-compose en su servidor. (Omita este paso si tiene docker instalado).
Ubuntu
curl -s https://raw.githubusercontent.com/FredyChivalan/odoo-docker-compose/main/resources/install_docker/ubuntu.sh | bash
Debian
curl -s https://raw.githubusercontent.com/FredyChivalan/odoo-docker-compose/main/resources/install_docker/debian.sh | bash
-
Supongamos que desea crear un proyecto de
odoo
llamado "simple-odoo".curl -s https://raw.githubusercontent.com/FredyChivalan/odoo-docker-compose/main/run.sh | bash -s simple-odoo 14.0 8070
Al final de la línea de comando, encontrará argumentos predeterminados:
- Primer argumento (simple-odoo): nombre del proyecto.
- Segundo argumento (14.0): Versión de Odoo.
- Tercer argumento (8070): Puerto a exponer.
-
Espere a que se inicialice completamente, y visita
http://localhost:8070
ohttp://host-ip:8070
(según corresponda).
Ejecute estas instrucciones en un proyecto de Odoo.
Iniciar
docker-compose up -d
Reiniciar
docker-compose restart
Detener
docker-compose down
Restaurante
curl -s https://raw.githubusercontent.com/FredyChivalan/odoo-docker-compose/main/run.sh | bash -s restaurante 12.0 8071
Cafetería
curl -s https://raw.githubusercontent.com/FredyChivalan/odoo-docker-compose/main/run.sh | bash -s cafeteria 13.0 8072
Tenga en cuenta exponer nombres y puertos diferentes para cada proyecto (por ejemplo, restaurante expone el puerto 8071 y cafeteria expone el puerto 8072).
-
Ejecute la aplicación con Docker Compose, como se muestra a continuación:
curl -s https://gitlab.com/fredy_chivalan/docker-nginx-proxy-manager/-/raw/main/run.sh | bash -s 85
Al final de la línea de comando, encontrará argumento predeterminado:
85
: Puerto necesario para panel de administración dehosts
.
-
Espere a que se inicialice completamente, y visita
http://localhost:85
ohttp://host-ip:85
(según corresponda). -
Inicie sesión en la interfaz de usuario de Admin
De Usuario De Administrador Predeterminada:
Email: [email protected] Password: changeme
Inmediatamente después de iniciar sesión con este usuario predeterminado, se le pedirá que modifique sus datos y cambie su contraseña.
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_NAME
: 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
.
Obten $ 100.00
de crédito al crear tu cuenta por primera vez en Digital Ocean
usando el enlace que se muestra a continuación.