Skip to content

Instantly share code, notes, and snippets.

@joel-pcg
Last active February 28, 2025 16:52
Show Gist options
  • Save joel-pcg/ef0751b2c3efefbf19a68064a8fafd9e to your computer and use it in GitHub Desktop.
Save joel-pcg/ef0751b2c3efefbf19a68064a8fafd9e to your computer and use it in GitHub Desktop.
Guia de instalacion de odoo con dockerdoo

Guía de implementación de Odoo con Dockerdoo (Modo Standalone)

Preparación del entorno

  1. Instale Docker y Docker Compose según su sistema operativo:

    • Windows/Mac: Instale Docker Desktop
    • Linux: Instale Docker Engine y Docker Compose
  2. Verifique la instalación con:

    docker --version
    docker-compose --version
    

Implementación paso a paso

1. Creación del directorio del proyecto

mkdir mi-proyecto-odoo
cd mi-proyecto-odoo

2. Clonación del repositorio Dockerdoo por SSH

git clone -b 17.0 [email protected]:iterativo-git/dockerdoo.git .

2.1 Clonación del repositorio Dockerdoo HTTPS

    https://github.com/iterativo-git/dockerdoo.git

3. Configuración del entorno

Edite el archivo .env ajustando los siguientes parámetros principales o deje la que esta por defecto:

nano .env

Parámetros importantes:

ODOO_VERSION=17.0
ADMIN_PASSWORD=my-weak-password
DB_ENV_POSTGRES_PASSWORD=odoo

Actualizar el docker-compose-yml y en la parte de volumes incluya esta linea

    ./custom:${ODOO_EXTRA_ADDONS}:delegated

4. Creación del directorio para módulos personalizados por defecto trae el folder custom creado

mkdir -p custom/mi-empresa

5. Levantamiento de los contenedores en modo standalone

docker-compose up -d

6. Verificación del estado de los servicios

docker-compose ps

7. Verificación de los registros

docker-compose logs -f odoo

Acceso y configuración inicial

  1. Acceda a Odoo a través de su navegador:

    http://localhost:8069
    
  2. Creación de base de datos:

    • Utilice la contraseña configurada en ADMIN_PASSWORD
    • Cree una base de datos con el nombre deseado
    • Establezca idioma y país según sus preferencias

Script de verificación

Cree un archivo verificar_odoo.py en el directorio raíz:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import xmlrpc.client
import sys
from datetime import datetime

def main():
    print("=" * 60)
    print("      VERIFICACIÓN DE INSTALACIÓN DE ODOO")
    print("=" * 60)
    print(f"Fecha y hora: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
    
    # Parámetros de conexión
    url = 'http://localhost:8069'
    db_name = input("Nombre de la base de datos: ")
    username = input("Usuario (normalmente 'admin'): ")
    password = input("Contraseña: ")
    
    print("\nConectando con el servidor Odoo...")
    
    try:
        # Verificar conexión al servicio Common
        common = xmlrpc.client.ServerProxy(f'{url}/xmlrpc/2/common')
        server_info = common.version()
        print(f"✓ Conexión establecida con Odoo {server_info.get('server_version', 'versión desconocida')}")
        
        # Autenticación
        uid = common.authenticate(db_name, username, password, {})
        if not uid:
            print("✗ Error de autenticación. Verifique las credenciales.")
            sys.exit(1)
        print(f"✓ Autenticación exitosa (UID: {uid})")
        
        # Conexión al servicio Object
        models = xmlrpc.client.ServerProxy(f'{url}/xmlrpc/2/object')
        
        # Verificar permisos de administrador
        is_admin = models.execute_kw(db_name, uid, password,
            'res.users', 'has_group', ['base.group_system'])
        print(f"✓ Verificación de permisos de administrador: {'Sí' if is_admin else 'No'}")
        
        # Obtener módulos instalados
        installed_modules = models.execute_kw(db_name, uid, password,
            'ir.module.module', 'search_read',
            [[['state', '=', 'installed']]],
            {'fields': ['name', 'state', 'latest_version']})
        
        print(f"✓ Módulos instalados: {len(installed_modules)}")
        
        print("\n" + "=" * 60)
        print("      RESULTADO DE LA VERIFICACIÓN")
        print("=" * 60)
        print("La instalación de Odoo está funcionando correctamente.")
        print("Servidor: ", server_info.get('server_version', 'N/A'))
        print("Base de datos: ", db_name)
        print("Módulos instalados: ", len(installed_modules))
        print("=" * 60)
        
    except Exception as e:
        print(f"✗ Error: {str(e)}")
        sys.exit(1)

if __name__ == "__main__":
    main()

Ejecute el script después de crear la base de datos:

python3 verificar_odoo.py

Gestión del entorno

Detener el entorno

docker-compose down

Reiniciar el entorno

docker-compose restart

Visualizar registros

docker-compose logs -f

Acceder al contenedor Odoo

docker-compose exec odoo bash

Agregar módulos personalizados

  1. Coloque los módulos en el directorio custom/mi-empresa/
  2. Reinicie los servicios:
    docker-compose restart
    
  3. Actualice la lista de aplicaciones desde la interfaz de Odoo
  4. Instale los módulos desde Aplicaciones > Actualizar lista de aplicaciones
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment