v 16.0 Third Party 556
Download for v 16.0 Deploy on Odoo.sh
Availability
Odoo Online
Odoo.sh
On Premise
Lines of code 996
Technical Name micro_saas
LicenseAGPL-3
Websitehttps://github.com/davidmonterocrespo24/odoo_micro_saas
Versions 14.0 17.0 15.0 16.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Lines of code 996
Technical Name micro_saas
LicenseAGPL-3
Websitehttps://github.com/davidmonterocrespo24/odoo_micro_saas
Versions 14.0 17.0 15.0 16.0

    Micro SaaS - Odoo Docker Instance Management


  • The Micro SaaS - Odoo Docker Instance Management module is a powerful and flexible solution for efficiently deploying multiple Odoo instances within Docker containers. Designed for businesses requiring an agile development and testing environment, along with the ability to manage several Odoo instances, this module simplifies development environment management and enhances collaboration in software projects.

Odoo Next

Visit us:
https://odoonext.com/

Functionality:

Key Features:

  • Quick Instance Deployment: Easily start and stop Odoo instances with a single click. The module automatically assigns available ports and clones repositories with the corresponding branches.
  • Repository Management: Efficiently manage source code repositories. Associate Git repositories with each instance and control the branches used in each environment.
  • Custom Configuration: Configure and personalize Odoo instances according to your needs. Each instance has its own odoo.conf configuration file, making it easy to tailor to your projects.
  • Activity Logging: Maintain a detailed log of all activities related to instances, including starting, stopping, and restarting Docker containers. Simplify troubleshooting and event tracking.
  • Intuitive Views: Enjoy intuitive and functional views that facilitate the management and monitoring of your instances. The Kanban view provides a quick overview, while the form view allows for detailed configurations.
  • Docker Compatibility: Leverage the power of Docker for efficient container management. This module seamlessly integrates with Docker, ensuring optimal deployment and resource management.
  • Changelog

    2.3.0 [2024-13-10]
    • Fixed some bugs and update
    2.2.0 [2023-13-10]
    • Use template for odoo version
    1.1.2 [2023-03-10]
    • Migrate to Odoo 16
    • Fixed some bugs
    1.1.0 [2023-19-09]
    • Initial release
    Download Micro SaaS - Odoo Docker Instance Management REMOTE (PRO VERSION)

    With the Micro SaaS - Odoo Docker Instance Management REMOTE application, you can remotely manage instances on other servers, expanding the capabilities of the instances.

    Key Benefits:

  • Time Savings: Reduce the time spent configuring and managing Odoo instances by automating repetitive tasks.
  • Enhanced Productivity: Facilitate collaboration among development teams in software projects by providing separate and configurable development environments.
  • Complete Control: Centrally manage and monitor your Odoo instances, maintaining a comprehensive record of activities.
  • Flexibility: Easily adapt instances to individual project needs by customizing configuration files.
  • Scalability: Scale vertically by adding new instances as needed, without complications or disruptions to existing projects.
  • Screenshots

    New Functionality

    Docker Compose Template

    Define templates for Odoo instances running in Docker containers.

    • Each template has a name, sequence, and can be associated with tags.
    • Templates include variables that can be customized when creating instances based on the template.
    Docker Compose Template Variable

    Define variables that can be used in Docker Compose templates.

    • Variables can be of "Free Text" or "Field of Model" types.
    • "Field of Model" variables are used to extract values from Odoo records.
    Odoo Docker Instance

    Represents specific instances of Odoo running in Docker containers.

    • Each instance is created from a defined template.
    • Instances can have names, states (Draft, Stopped, Running, Error), HTTP ports, long polling ports, and more.
    • Multiple templates can be defined, and when creating an instance, you can select an existing template and customize its variables.
    • The instance can clone custom code repositories (e.g., Odoo modules) and configure a specific "odoo.conf" file for it.



    Installation Guide: Docker, Docker Compose, and Git

    Docker:

    1. Visit the official Docker website for installation instructions: Docker Installation Guide: https://docs.docker.com/get-docker/.
    2. Choose the appropriate installation method for your operating system (Windows, macOS, or Linux).
    3. After installation, verify Docker's successful installation by running docker --version.

    Docker Compose:

    1. Docker Compose simplifies the management of multi-container Docker applications. To install Docker Compose:
    2. Follow the official Docker Compose installation guide: Docker Compose Installation: https://docs.docker.com/compose/install.
    3. Select the instructions relevant to your operating system.
    4. Confirm the installation by running docker-compose --version.

    Git:

    1. Git is a distributed version control system. To install Git:
    2. Visit the Git website and download the appropriate installer for your OS: Git Downloads: https://git-scm.com/downloads.
    3. Follow the installation instructions provided.
    4. Verify Git's installation by running git --version.

    Community Support and Contribution

    We're thrilled to offer this module to the community as a free resource for efficient Odoo Docker instance management. We welcome contributions, feedback, and suggestions from the community to enhance and improve this tool further.

    Your support can help us create more features, improve stability, and make it even more valuable for users worldwide. Please feel free to get involved by reporting issues, submitting pull requests, or providing feedback on how we can make this module even better.

    Together, we can make a positive impact on the Odoo community and simplify development processes for all users. Thank you for your support!

    For more information, please contact us at davidmonterocrespo24@gmail.com

    GitHub Repository: https://github.com/davidmonterocrespo24/odoo_micro_saas

    Recommended Odoo Installation Script

    https://github.com/Yenthe666/InstallScript

    This script is based on the install script created by André Schenkels but goes a bit further and has been improved. It simplifies the installation of Odoo and provides additional configuration options.

    Installing Nginx

    If you set the parameter INSTALL_NGINX to True, you should also configure workers. Without workers, you may encounter connection loss issues. Refer to the deployment guide from Odoo on how to configure workers.

    Installation Procedure

    1. Download the script:
    2. sudo wget https://raw.githubusercontent.com/Yenthe666/InstallScript/16.0/odoo_install.sh
    3. Modify the parameters as you wish. Here are some commonly used options:
    • OE_USER: The system user's username.
    • GENERATE_RANDOM_PASSWORD: Set to True to generate a random password, or set to False to use the password configured in OE_SUPERADMIN.
    • INSTALL_WKHTMLTOPDF: Set to False if you don't want to install Wkhtmltopdf, or True if you want to install it.
    • OE_PORT: The port on which Odoo should run, e.g., 8069.
    • OE_VERSION: The Odoo version to install, e.g., 16.0 for Odoo V16.
    • IS_ENTERPRISE: Set to True to install the Enterprise version on top of 16.0, or False for the community version.
    • OE_SUPERADMIN: The master password for this Odoo installation.
    • INSTALL_NGINX: Set to False by default. Set to True to install Nginx.
    • WEBSITE_NAME: Set the website name here for Nginx configuration.
    • ENABLE_SSL: Set to True to install certbot and configure Nginx with HTTPS using a free Let's Encrypted certificate.
    • ADMIN_EMAIL: Email needed for Let's Encrypt registration. Replace the default placeholder with your organization's email.

    Note: To enable SSL through Let's Encrypt, you agree to certain policies.

  • Make the script executable:
  • sudo chmod +x odoo_install.sh
  • Execute the script:
  • sudo ./odoo_install.sh

    Where to Host Odoo

    There are plenty of great services that offer reliable hosting for Odoo. This script has been tested with major providers such as Google Cloud, Hetzner, Amazon AWS, and DigitalOcean. You can use DigitalOcean with my referral link to get a $200 voucher for free for the first 60 days.

    Minimal Server Requirements

    While it's technically possible to run Odoo on a server with 1GB of RAM, it's not advised. A Linux instance typically uses 300MB-500MB, and the rest needs to be split among Odoo, PostgreSQL, and other services. To run Odoo smoothly, it's recommended to use at least 2GB of RAM. This script might fail with fewer resources. There are known issues on DigitalOcean where the installation crashes on 1GB RAM machines. See #243.



    Please log in to comment on this module

    • The author can leave a single reply to each comment.
    • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
    • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
    Please choose a rating from 1 to 5 for this module.
    Setup Nginx possible?
    by
    olajide idowu
    on 10/12/23, 6:25 PM

    Is it possible to use nginx for each instance using subdomain for each instance instead of using ip and port number?

    Please we will appreciate having a video that shows how to use the module.

    Thank you for the good works done


    by
    David Montero Crespo
    on 9/19/23, 6:46 PM Author



    Getting this error when creating instance
    by
    olajide idowu
    on 10/12/23, 6:19 PM
    Traceback (most recent call last):
      File "/opt/odoo/extra_addons/micro_saas/models/odoo_docker_instance.py", line 324, in excute_command
        result = subprocess.run(cmd, shell=shell, check=check, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
      File "/usr/lib/python3.8/subprocess.py", line 516, in run
        raise CalledProcessError(retcode, process.args,
    subprocess.CalledProcessError: Command 'docker-compose -f /opt/odoo/odoo_docker/data/icit/docker-compose.yml up -d' returned non-zero exit status 255.
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/opt/odoo/extra_addons/micro_saas/models/odoo_docker_instance.py", line 247, in start_instance
        self.excute_command(cmd, shell=True, check=True)
      File "/opt/odoo/extra_addons/micro_saas/models/odoo_docker_instance.py", line 327, in excute_command
        raise "Error to execute command: %s" % cmd
    TypeError: exceptions must derive from BaseException
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/opt/odoo/odoo/http.py", line 1589, in _serve_db
        return service_model.retrying(self._serve_ir_http, self.env)
      File "/opt/odoo/odoo/service/model.py", line 133, in retrying
        result = func()
      File "/opt/odoo/odoo/http.py", line 1616, in _serve_ir_http
        response = self.dispatcher.dispatch(rule.endpoint, args)
      File "/opt/odoo/odoo/http.py", line 1820, in dispatch
        result = self.request.registry['ir.http']._dispatch(endpoint)
      File "/opt/odoo/odoo/addons/base/models/ir_http.py", line 154, in _dispatch
        result = endpoint(**request.params)
      File "/opt/odoo/odoo/http.py", line 697, in route_wrapper
        result = endpoint(self, *args, **params_ok)
      File "/opt/odoo/addons/web/controllers/dataset.py", line 46, in call_button
        action = self._call_kw(model, method, args, kwargs)
      File "/opt/odoo/addons/web/controllers/dataset.py", line 33, in _call_kw
        return call_kw(request.env[model], method, args, kwargs)
      File "/opt/odoo/odoo/api.py", line 466, in call_kw
        result = _call_kw_multi(method, model, args, kwargs)
      File "/opt/odoo/odoo/api.py", line 453, in _call_kw_multi
        result = method(recs, *args, **kwargs)
      File "/opt/odoo/extra_addons/micro_saas/models/odoo_docker_instance.py", line 255, in start_instance
        self.add_to_log("[ERROR]  " + e.stderr.decode('utf-8'))
    AttributeError: 'TypeError' object has no attribute 'stderr'
    
    The above server error caused the following client error:
    RPC_ERROR: Odoo Server Error
        at makeErrorFromResponse (http://46.101.200.107:8069/web/assets/112-b62097b/web.assets_backend.min.js:987:163)
        at XMLHttpRequest. (http://46.101.200.107:8069/web/assets/112-b62097b/web.assets_backend.min.js:995:13)



    Getting this error while trying to start instance
    by
    olajide idowu
    on 10/12/23, 6:18 PM
    Traceback (most recent call last):
      File "/opt/odoo/extra_addons/micro_saas/models/odoo_docker_instance.py", line 324, in excute_command
        result = subprocess.run(cmd, shell=shell, check=check, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
      File "/usr/lib/python3.8/subprocess.py", line 516, in run
        raise CalledProcessError(retcode, process.args,
    subprocess.CalledProcessError: Command 'docker-compose -f /opt/odoo/odoo_docker/data/icit/docker-compose.yml up -d' returned non-zero exit status 255.
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/opt/odoo/extra_addons/micro_saas/models/odoo_docker_instance.py", line 247, in start_instance
        self.excute_command(cmd, shell=True, check=True)
      File "/opt/odoo/extra_addons/micro_saas/models/odoo_docker_instance.py", line 327, in excute_command
        raise "Error to execute command: %s" % cmd
    TypeError: exceptions must derive from BaseException
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/opt/odoo/odoo/http.py", line 1589, in _serve_db
        return service_model.retrying(self._serve_ir_http, self.env)
      File "/opt/odoo/odoo/service/model.py", line 133, in retrying
        result = func()
      File "/opt/odoo/odoo/http.py", line 1616, in _serve_ir_http
        response = self.dispatcher.dispatch(rule.endpoint, args)
      File "/opt/odoo/odoo/http.py", line 1820, in dispatch
        result = self.request.registry['ir.http']._dispatch(endpoint)
      File "/opt/odoo/odoo/addons/base/models/ir_http.py", line 154, in _dispatch
        result = endpoint(**request.params)
      File "/opt/odoo/odoo/http.py", line 697, in route_wrapper
        result = endpoint(self, *args, **params_ok)
      File "/opt/odoo/addons/web/controllers/dataset.py", line 46, in call_button
        action = self._call_kw(model, method, args, kwargs)
      File "/opt/odoo/addons/web/controllers/dataset.py", line 33, in _call_kw
        return call_kw(request.env[model], method, args, kwargs)
      File "/opt/odoo/odoo/api.py", line 466, in call_kw
        result = _call_kw_multi(method, model, args, kwargs)
      File "/opt/odoo/odoo/api.py", line 453, in _call_kw_multi
        result = method(recs, *args, **kwargs)
      File "/opt/odoo/extra_addons/micro_saas/models/odoo_docker_instance.py", line 255, in start_instance
        self.add_to_log("[ERROR]  " + e.stderr.decode('utf-8'))
    AttributeError: 'TypeError' object has no attribute 'stderr'
    
    The above server error caused the following client error:
    RPC_ERROR: Odoo Server Error
        at makeErrorFromResponse (http://46.101.200.107:8069/web/assets/112-b62097b/web.assets_backend.min.js:987:163)
        at XMLHttpRequest. (http://46.101.200.107:8069/web/assets/112-b62097b/web.assets_backend.min.js:995:13)



    Trying to contact the developer
    by
    Marius Meyer
    on 10/5/23, 9:02 AM

    Hi There,

    We have been trying to contact the developer. Please can someone put us in touch with them.

    Marius Meyer
    QBIS Software
    marius@qbismail.za.com


    other error when starting docker
    by
    Humanoide servicios para la pyme, S.L.N.E.
    on 9/23/23, 2:48 AM
    Traceback (most recent call last):
      File "/usr/lib/python3/dist-packages/odoo/http.py", line 1584, in _serve_db
        return service_model.retrying(self._serve_ir_http, self.env)
      File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 133, in retrying
        result = func()
      File "/usr/lib/python3/dist-packages/odoo/http.py", line 1611, in _serve_ir_http
        response = self.dispatcher.dispatch(rule.endpoint, args)
      File "/usr/lib/python3/dist-packages/odoo/http.py", line 1815, in dispatch
        result = self.request.registry['ir.http']._dispatch(endpoint)
      File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_http.py", line 154, in _dispatch
        result = endpoint(**request.params)
      File "/usr/lib/python3/dist-packages/odoo/http.py", line 697, in route_wrapper
        result = endpoint(self, *args, **params_ok)
      File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/dataset.py", line 46, in call_button
        action = self._call_kw(model, method, args, kwargs)
      File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/dataset.py", line 33, in _call_kw
        return call_kw(request.env[model], method, args, kwargs)
      File "/usr/lib/python3/dist-packages/odoo/api.py", line 461, in call_kw
        result = _call_kw_multi(method, model, args, kwargs)
      File "/usr/lib/python3/dist-packages/odoo/api.py", line 448, in _call_kw_multi
        result = method(recs, *args, **kwargs)
      File "/mnt/extra-addons/otros/micro_saas/models/odoo_docker_instance.py", line 183, in start_instance
        self._update_docker_compose_file(http_port, longpolling_port)
      File "/mnt/extra-addons/otros/micro_saas/models/odoo_docker_instance.py", line 107, in _update_docker_compose_file
        os.makedirs(instance_data_path)
      File "/usr/lib/python3.9/os.py", line 225, in makedirs
        mkdir(name, mode)
    PermissionError: [Errno 13] Permission denied: '/mnt/extra-addons/otros/micro_saas/data/trabucosaas'


    Re: other error when starting docker
    by
    David Montero Crespo
    on 9/23/23, 3:18 PM Author

    Hello
    Thank you for reporting the bugs, but I would ask you to improve the reports in the GitHub repository https://github.com/davidmonterocrespo24/odoo_micro_saas

    so as not to create so many messages here
    You can also download the most updated module on GitHub

    Greetings

    Hola 
    Gracias por reportar los errores, pero te solicitaría que mejor los reportes en el repositorio de GitHub https://github.com/davidmonterocrespo24/odoo_micro_saas

    para no crear tantos mensajes aquí
    también te puedes descargar el módulo más actualizado en GitHub 

    Saludos


    this error appear when you asign repositories
    by
    Humanoide servicios para la pyme, S.L.N.E.
    on 9/23/23, 2:47 AM

    RPC_ERROR
    Odoo Server Error
    Traceback (most recent call last):
    File "/usr/lib/python3/dist-packages/odoo/http.py", line 1584, in _serve_db
    return service_model.retrying(self._serve_ir_http, self.env)
    File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 133, in retrying
    result = func()
    File "/usr/lib/python3/dist-packages/odoo/http.py", line 1611, in _serve_ir_http
    response = self.dispatcher.dispatch(rule.endpoint, args)
    File "/usr/lib/python3/dist-packages/odoo/http.py", line 1815, in dispatch
    result = self.request.registry['ir.http']._dispatch(endpoint)
    File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_http.py", line 154, in _dispatch
    result = endpoint(**request.params)
    File "/usr/lib/python3/dist-packages/odoo/http.py", line 697, in route_wrapper
    result = endpoint(self, *args, **params_ok)
    File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/dataset.py", line 42, in call_kw
    return self._call_kw(model, method, args, kwargs)
    File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/dataset.py", line 33, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
    File "/usr/lib/python3/dist-packages/odoo/api.py", line 461, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
    File "/usr/lib/python3/dist-packages/odoo/api.py", line 448, in _call_kw_multi
    result = method(recs, *args, **kwargs)
    File "/usr/lib/python3/dist-packages/odoo/models.py", line 6532, in onchange
    todo = [
    File "/usr/lib/python3/dist-packages/odoo/models.py", line 6535, in
    if name not in done and snapshot0.has_changed(name)
    File "/usr/lib/python3/dist-packages/odoo/models.py", line 6318, in has_changed
    return self[name] != record[name]
    File "/usr/lib/python3/dist-packages/odoo/models.py", line 5891, in __getitem__
    return self._fields[key].__get__(self, type(self))
    File "/usr/lib/python3/dist-packages/odoo/fields.py", line 1157, in __get__
    self.recompute(record)
    File "/usr/lib/python3/dist-packages/odoo/fields.py", line 1365, in recompute
    apply_except_missing(self.compute_value, recs)
    File "/usr/lib/python3/dist-packages/odoo/fields.py", line 1338, in apply_except_missing
    func(records)
    File "/usr/lib/python3/dist-packages/odoo/fields.py", line 1387, in compute_value
    records._compute_field_value(self)
    File "/usr/lib/python3/dist-packages/odoo/models.py", line 4215, in _compute_field_value
    fields.determine(field.compute, self)
    File "/usr/lib/python3/dist-packages/odoo/fields.py", line 97, in determine
    return needle(*args)
    File "/mnt/extra-addons/otros/micro_saas/models/odoo_docker_instance.py", line 30, in _compute_addons_path
    repo_path = name_repo_url = line.repository_id.name.split('/')[-1]
    AttributeError: 'bool' object has no attribute 'split'

    The above server error caused the following client error:
    null


    Not working lot of errors
    by
    Humanoide servicios para la pyme, S.L.N.E.
    on 9/20/23, 6:24 AM

    Not working lot of errors


    Not working in my case

    Re: Not working lot of errors
    by
    David Montero Crespo
    on 9/20/23, 8:55 AM Author

    Hello

    I would appreciate it if you reported the bug on github.

    Copy the bug or describe it at https://github.com/davidmonterocrespo24/odoo_micro_saas


    Greetings