Overview

Odoobot is a user-friendly platform to deploy and manage self-hosted Odoo environments with minimal technical knowledge, which helps many of the project managers / functional consultants and even developers in their daily tasks.

Getting started

Prerequisites

The standard deployment using Odoobot requires the following to be true

  1. Domain name with nameservers pointing to CloudFlare
  2. Freshly provisioned server with Ubuntu 22 and up, can be a VPS or Dedicated server, for better performance we recommend on of the following cloud providers Amazon Web Services, Google Cloud Platform, or Oracle Cloud Infrastructure.

SSL Certificates

All deployments requires valid SSL certificate, we recommend CloudFlare for issuing and managing your SSL certificates, follow instructions on how to create SSL certificates in CloudFlare

Running business ERP requires your system to be secured with SSL certificates, Odoobot integrates with CloudFlare to create and manage SSL certificate without worrying about their expiration.

Add certificate

Follow CloudFlare instructions to create an SSL certificate, once created you can add it in Odoobot

  1. Navigate to the SSL Certificates section in the dashboard.

    ssl_dashboard

  2. Click on New to add Certificate.

    ob_ssl_certificates

  3. Fill in certificate details

    ob_ssl_form

    1. Enter a name for the certificate.
    2. Enter the root domain name for which the certificate was issued.
    3. Enter an un-proxied subdomain that will be used to by-pass CloudFlare limitations in case you choose CloudFlare Free plan. (You must create DNS record for this subdomain as well.)
    4. Copy and paste Origin Certificate contents from CloudFlare into Odoobot.
    5. Copy and paste Private Key contents from CloudFlare into Odoobot.
    6. Click Save.

Servers

Before adding your server to Odoobot, you need to make sure that you have a DNS record pointing to your server on CloudFlare that will act as a default subdomain that will hold default / common NGINX configuration.

Add server

To add a new server:

  1. Go to the Servers section in the dashboard.

    server_dashboard

  2. Click on Add Server.

    new_server

  3. Fill in server details:

    server_form

    1. Enter Name for the server.
    2. Enter IP Address.
    3. Enter the Domain / Subdomain, follow CloudFlare instructions.
    4. Make sure that CloudFlare Proxy is checked.
    5. Select SSL Certificate that covers Domain / Subdomain follow CloudFlare instructions.
    6. Select Authentication method, Odoobot supports
      1. If you choose Basic Auth you must provide Username / Password.

        new_server

      2. If you choose Private Key you must provide Username / Private Key.

        new_server

      3. If you choose Public Key you must copy Odoobot's public key to authorized_keys on your server

        new_server

    7. Enter list python libraries in Default requirements.txt to be installed on any Odoo environment on that server using.
    8. Enter list of IP addresses in IP Whitelist, this allows access over HTTP only from a whitelisted IP address.
    9. Click Save to add the server.

    Projects

    Each Odoobot project is a Github repository just like Odoo sh you can create a project from an existing Github repository or create a new repository when project is created in Odoo.bot

    Create project

    To create a new project:

    1. Navigate to the Projects section.

    project_dashboard

    1. Click New to create a new project.

    new_project

    1. Fill in project details:

    project_form

    1. Enter Project Name.
    2. Currently we are supporting Github only.
    3. Check this option for Existing repository or Uncheck for New repository.
    4. Enter Repository Name, or search for an existing one based on pervious step.
    5. Select project's Default Edition
    6. Select project's Default Version
    7. Select project's Production Server, follow instructions on How to add a server
    8. Select project's Production SSL Certificate, follow instructions on How to add a certificate
    9. Select project's Staging Server
    10. Select project's Staging SSL Certificate
    11. Select project's Development Server
    12. Select project's Development SSL Certificate
    13. Click Save to create the project.

    Once created, you will be redirected to the Project Console with production instance created automatically for you.

    project_console

    Project Console

    Project console view provides easy access to project stage instances whether Production , Staging or Development.

    1. History
    2. Access Information
    3. Setting
    4. Queue
    5. Backups

    History

    instance_access

    Access Information

    instance_access

    Settings

    instance_access

    Queue

    instance_access

    CloudFlare

    Create DNS Record

    1. Sign in to your CloudFlare dashboard

    signin

    1. Select the domain name that you want to manage

    select_domain

    1. From the left side menu click on DNS, then Click Add record

    add_dns_record

    1. Select record type A, enter subdomain or leave it blank to use root domain, enter IP address of the server, keep Proxy status checked then click Save

    save_record

    Create SSL Certificate

    1. Sign in to your CloudFlare dashboard

    signin

    1. Select the domain name that you want to manage

    select_domain

    1. From the left side menu click on SSL/TLS, then Click Configure

    add_dns_record

    1. Select Full (Strict) then click Save

    save_configuration

    1. From the left side menu click Origin Server then click Create Certificate

    create_ssl_certificate

    1. Keep default setting and then click Create

    save_certificate

    1. Copy Origin Certificate and Private Key contents, follow Odoobot instructions to add the certificate, then click Ok

    copy_cert