CINXE.COM

The Odoo Cloud Platform | F.A.Q.

<!DOCTYPE html> <html lang="en-US" data-website-id="1" data-main-object="website.page(6,)" data-oe-company-name="Odoo.sh"> <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/> <title>The Odoo Cloud Platform | F.A.Q.</title> <link type="image/x-icon" rel="shortcut icon" href="/web/image/website/1/favicon?unique=47a840f"/> <link rel="preload" href="/web/static/lib/fontawesome/fonts/fontawesome-webfont.woff2?v=4.7.0" as="font" crossorigin=""/> <link type="text/css" rel="stylesheet" href="/web/assets/202709-12ce974/1/web.assets_common.min.css" data-asset-bundle="web.assets_common" data-asset-version="12ce974"/> <link type="text/css" rel="stylesheet" href="/web/assets/202713-c21a665/1/web.assets_frontend.min.css" data-asset-bundle="web.assets_frontend" data-asset-version="c21a665"/> <script id="web.layout.odooscript" type="text/javascript"> var odoo = { csrf_token: "803cbbac7e1ae7c25b4b785e84e764bff2dea6e4o1763919544", debug: "", }; </script> <script type="text/javascript"> odoo.__session_info__ = {"is_admin": false, "is_system": false, "is_website_user": true, "user_id": false, "is_frontend": true, "profile_session": null, "profile_collectors": null, "profile_params": null, "show_effect": false, "translationURL": "/website/translations", "cache_hashes": {"translations": "f12705107954724d907d5a2169a1084775fa845c"}, "lang_url_code": "en_US", "geoip_country_code": null}; if (!/(^|;\s)tz=/.test(document.cookie)) { const userTZ = Intl.DateTimeFormat().resolvedOptions().timeZone; document.cookie = `tz=${userTZ}; path=/`; } </script> <script defer="defer" type="text/javascript" src="/web/assets/202714-38441e3/1/web.assets_common_minimal.min.js" data-asset-bundle="web.assets_common_minimal" data-asset-version="38441e3"></script> <script defer="defer" type="text/javascript" src="/web/assets/202715-8691bf7/1/web.assets_frontend_minimal.min.js" data-asset-bundle="web.assets_frontend_minimal" data-asset-version="8691bf7"></script> <script defer="defer" type="text/javascript" data-src="/web/assets/202716-42b544f/1/web.assets_common_lazy.min.js" data-asset-bundle="web.assets_common_lazy" data-asset-version="42b544f"></script> <script defer="defer" type="text/javascript" data-src="/web/assets/202717-68fd0c9/1/web.assets_frontend_lazy.min.js" data-asset-bundle="web.assets_frontend_lazy" data-asset-version="68fd0c9"></script> <meta name="google-site-verification" content="PXwdiu2nojDgB2Wt0ImtznuJkTUsw_9rnd6Fyy6Ql_U"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="generator" content="Odoo"/> <meta name="keywords" content="odoo, hosting, cloud platform, iaas, paas, odoo sh, faq"/> <meta property="og:type" content="website"/> <meta property="og:title" content="The Odoo Cloud Platform | F.A.Q."/> <meta property="og:site_name" content="The Odoo Cloud Platform"/> <meta property="og:url" content="https://www.odoo.sh/faq"/> <meta property="og:image" content="https://www.odoo.sh/web/image/website/1/logo?unique=47a840f"/> <meta name="twitter:card" content="summary_large_image"/> <meta name="twitter:title" content="The Odoo Cloud Platform | F.A.Q."/> <meta name="twitter:image" content="https://www.odoo.sh/web/image/website/1/logo/300x300?unique=47a840f"/> <link rel="canonical" href="https://www.odoo.sh/faq"/> <link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin=""/> </head> <body class=""> <div id="wrapwrap" class=" "> <header id="top" data-anchor="true" data-name="Header" class=""> <nav data-name="Navbar" class="navbar navbar-dark sh-bg-blue-darker navbar-expand-md border-0"> <div id="top_menu_container" class="container justify-content-start justify-content-lg-between"> <a href="/" class="navbar-brand logo"> <img src="/paas_website/static/src/img/odoo_sh_logo.svg" alt="Odoo.sh Logo" class="my-3" style="height:20px;" loading="lazy"/> </a> <div id="top_menu_collapse" class="collapse navbar-collapse order-last order-lg-0"> <ul id="top_menu" class="nav navbar-nav o_menu_loading ml-auto text-right"> <li class="nav-item"> <a role="menuitem" href="/" class="nav-link "> <span>Home</span> </a> </li> <li class="nav-item"> <a role="menuitem" href="/features" class="nav-link "> <span>Features</span> </a> </li> <li class="nav-item"> <a role="menuitem" href="/pricing" class="nav-link "> <span>Pricing</span> </a> </li> <li class="nav-item"> <a role="menuitem" href="https://www.odoo.com/pricing#hosting=odoo_sh&amp;price_by=monthly" class="nav-link "> <span>Buy</span> </a> </li> <li class="nav-item"> <a role="menuitem" href="/faq" class="nav-link active"> <span>F.A.Q.</span> </a> </li> <li class="nav-item"> <a role="menuitem" href="https://www.odoo.sh/doc" class="nav-link "> <span>Documentation</span> </a> </li> <form class="form-inline"> <a href="/web/login" class="btn btn-secondary"> Sign in </a> </form> </ul> </div> <button type="button" data-toggle="collapse" data-target="#top_menu_collapse" class="navbar-toggler ml-auto"> <span class="navbar-toggler-icon o_not_editable"></span> </button> </div> </nav> </header> <main> <div id="wrap" class="oe_structure"> <section id="o-sh-faq"> <div id="o-sh-faq-banner"></div> <div class="container"> <div class="row"> <div class="col-md-3 hidden-print d-none d-lg-block border-right" role="complementary"> <nav id="features_affix" data-spy="affix" class="navbar affix position-fixed"> <nav class="nav nav-pills flex-column w-100 pr-3"> <a class="active nav-link" href="#developers">Developers</a> <a class="nav-link" href="#testers">Testers</a> <a class="nav-link" href="#project_managers">Project Managers</a> <a class="nav-link" href="#system_administrator">System Administrators</a> <form id="odoo_sh_search_faq" class="input-group mt-4" action="?" method="POST"> <input type="text" class="form-control" placeholder="Search..."/> <button type="button" class="btn bg-transparent o_sh_hidden"> <i class="fa fa-times"></i> </button> </form> <div id="no_result_msg" class="o_sh_hidden mt-4 alert alert-warning text-center" role="alert"> Your search did not return any result. </div> </nav> </nav> </div> <div class="col-lg-9" role="main"> <a href="/faq?expand=1" class="float-right"> Expand All </a> <div id="content_affix" class="row" data-spy="scroll" data-target="#features_affix"> <div class="col-lg-10 offset-lg-1 o-sh-faq-block mb-4" id="developers"> <h2 class="display-4 mt-0 mb-2">For <b>Developers</b></h2> <div class="card mb-0"> <div class="card-header p-0"> <h5 class="mb-0"> <a class="d-block px-2 py-2 px-lg-4 py-lg-3" data-toggle="collapse" href="#technical_limits"> What are the technical restrictions for the Odoo.sh containers? </a> </h5> </div> <div id="technical_limits" class="collapse"> <div class="card-body"> <p> The Odoo.sh platform uses some memory and CPU-usage limits in order to ensure a fair use of server resources. This means that idle Odoo workers may be terminated after a reasonable amount of time and will be automatically re spawned upon the next activity. </p> <p> Odoo.sh is a platform dedicated solely to the hosting of Odoo based solutions. The use of additional daemonized or long-living processes/connections is not supported by the platform. </p> <p> Scheduled actions has a limited time of execution for each run and are terminated when reaching the timeout. When reaching the timeout recurrently, they are automatically disabled by the platform and a notification is sent to the project's administrators. </p> <p> Staging and development builds are restricted to a single worker which is further restrained in terms of concurrent requests and system resources. For those builds, the scheduled actions are only triggered a couple of times a day. </p> <p> It is not possible to install <a href="#install_dependencies">system packages</a> or to change the configuration of the system images used in the containers (even on dedicated servers). Also, the <code>suid</code> bit of executables in the system images is cleared for security reasons (this includes the <code>ping</code> binary in older ubuntu releases). </p> <p> Overloading the long polling/websocket communication layer, both server-side and client-side, is not possible. </p> <p> The usage of Odoo.sh is subject to the <a href="https://www.odoo.com/acceptable-use" target="_blank">Odoo Cloud Acceptable Use Policy</a>. </p> </div> </div> </div> <div class="card"> <div class="card-header p-0"> <h5 class="mb-0"> <a class="d-block px-2 py-2 px-lg-4 py-lg-3" data-toggle="collapse" href="#internet_access"> Do I have internet access on Odoo.sh containers? </a> </h5> </div> <div id="internet_access" class="collapse"> <div class="card-body"> <p> Yes, the containers have a (nearly) unrestricted access to the Internet. </p> <p> Exceptions: </p> <ul> <li>Port <code>25</code> is (and will stay) closed. If you want to connect to an external SMTP server, you should use ports <code>465</code> and <code>587</code>.</li> <li> Long-living connections will not survive to <a href="#technical_limits">worker recycling</a>. We discourage you to implement long-living connections to/from external services as this use-case is not supported by the platform. </li> </ul> </div> </div> </div> <div class="card"> <div class="card-header p-0"> <h5 class="mb-0"> <a class="d-block px-2 py-2 px-lg-4 py-lg-3" data-toggle="collapse" href="#multiple_addons_folder"> Is it possible to have more than one addons folder? </a> </h5> </div> <div id="multiple_addons_folder" class="collapse"> <div class="card-body"> <p> Yes ! The platform will automatically detect your addons folders based on the manifest files (<code>__manifest__.py</code>) of each addon. </p> <p> This is actually how submodules work: If you add a repository containing Odoo addons as a submodule of your branch, the folder holding the submodule will be detected as an addons folder to include in the addons path of your database. </p> </div> </div> </div> <div class="card"> <div class="card-header p-0"> <h5 class="mb-0"> <a class="d-block px-2 py-2 px-lg-4 py-lg-3" data-toggle="collapse" href="#how_to_submodules"> How to set up my submodules? </a> </h5> </div> <div id="how_to_submodules" class="collapse"> <div class="card-body"> <p> A <code>git submodule</code> <a href="https://git-scm.com/book/en/v2/Git-Tools-Submodules" target="_blank">allows</a> you to integrate other Git projects into your code, without the need to copy-paste all the code (in short). </p> <p> <u>Required before starting</u>: a Git repository containing some Odoo modules. It can be some <a href="https://www.odoo.com/apps" target="_blank">apps from the Odoo Apps store</a> or some <a href="https://github.com/OCA" target="_blank">community modules</a>. </p> <h5 id="submodules_private_repo">Private repositories</h5> <p> Github <a href="https://help.github.com/articles/making-a-public-repository-private/" target="_blank">private repositories</a> require a few more steps in order to configure properly your submodules. They ensure that Odoo.sh will be able to fetch your private code. </p> <ol> <li>Go to your Odoo.sh project <i>Settings</i> then look for the <i>Submodules</i> section.</li> <li>Paste the URL of your sub-repository (eg: <code>git@github.com:USERNAME/REPOSITORY.git</code>) and click on <i>Add</i>.</li> <li>Copy the <i>Public key</i> (it should look like <code>ssh-rsa some...random...characters...here...==</code>). We currently support <code>ssh-rsa</code> and <code>ssh-ed25519</code> keys.</li> <li>Go to your sub-repository <i>Settings</i> page on Github then look for the <i>Deploy keys</i> tab.</li> <li>Click on <i>Add deploy key</i> and paste the public key into the <i>Key</i> field. You can add "Odoo.sh" as title and save.</li> <li>Now follow the steps described hereunder for the Public repositories.</li> </ol> <h5 id="submodules_public_repo">Public repositories</h5> <p> Here are the steps to add your sub-repository as a submodule of your Odoo.sh project <small>(you don't need to set up a deploy key for public repositories)</small>. </p> <ol> <li>Let your project "know" that you require a submodule: <code>git submodule add -b BRANCH git@github.com:USERNAME/REPOSITORY.git PATH</code>.</li> <li>Commit this change and push it: <code>git commit -a && git push -u origin master</code>.</li> <li>Wait while Odoo.sh builds your project... and it's done!</li> </ol> </div> </div> </div> <div class="card"> <div class="card-header p-0"> <h5 class="mb-0"> <a class="d-block px-2 py-2 px-lg-4 py-lg-3" data-toggle="collapse" href="#install_dependencies"> Can I install dependencies packages? </a> </h5> </div> <div id="install_dependencies" class="collapse"> <div class="card-body"> <h5>Python dependencies:</h5> <p> You can define <code>requirements.txt</code> files in your branch holding the python dependencies your project relies on. These requirements files can be placed in the root of the folders containing your addons. The platform will then install the dependencies for each build. </p> <h5>System dependencies:</h5> <p> It is not possible to install or upgrade system packages in an Odoo.sh instance (e.g. apt packages). </p> <p> Nevertheless, if the package could be useful for more than one project, we will consider to install it by default in the containers images if the package meets the following requirements: <ul> <li>there should be not conflict with the rest of the packages</li> <li>the software should not run as (or depend on) a long-running service or daemon</li> <li>no elevated privileges or additional system users should be required</li> <li> the software should not directly or indirectly represent a security attack vector nor favor the infringement of our <a href="https://www.odoo.com/page/odoo-online-acceptable-use-policy" target="_blank">Acceptable Use Policy</a>. </li> <li> the software should run flawlessly in a constrained Linux namespace environment with cgroup limits on memory, processes, threads, files, ... (this excludes greedy VMs such as java) </li> </ul> The same goes for python modules requiring system packages for their compilation. In such a case, post your package request in a <a href="https://www.odoo.com/help" type="_blank">support ticket</a> and provide some details about your use-case. </p> <p> Please note that accepted system packages will be kept as long as the above conditions are met. Should a conflict arise when the platform is moving to a more recent OS distribution, it may be removed. </p> <h5>PostgreSQL dependencies:</h5> <p> PostgreSQL extensions are not supported on Odoo.sh hence it is not possible to install extensions (such as PostGIS, ltree, ...) in an Odoo.sh database. </p> <h5>Third party Odoo modules:</h5> <p> Third party Odoo modules are subject to the same restrictions stated above, but occasionally some modules might be incompatible by design with Odoo.sh for technical reasons. Here is the list of incompatible modules we are currently aware of: <ul> <li> <a href="https://github.com/OCA/queue" target="_blank">queue_job</a> causing performance degradation (depending on the amount of workers) that can lead to the infringement of our <a href="https://www.odoo.com/page/odoo-online-acceptable-use-policy" target="_blank">Acceptable Use Policy</a>. </li> <li> <a href="https://github.com/haylahi/odoo_agent" target="_blank">odoo_agent</a> (and <a href="https://github.com/haylahi/odoo_agent/network/members" target="_blank">forks</a>) causing long polling breakage on Odoo.sh </li> </ul> </p> </div> </div> </div> <div class="card"> <div class="card-header p-0"> <h5 class="mb-0"> <a class="d-block px-2 py-2 px-lg-4 py-lg-3" data-toggle="collapse" href="#is_there_an_api"> What API's are available? </a> </h5> </div> <div id="is_there_an_api" class="collapse"> <div class="card-body"> <h5> Odoo instances API </h5> <p> Each Odoo build comes with an XML-RPC interface. It allows you to interact from an external application. You can find here <a href="https://www.odoo.com/documentation/latest/developer/webservices/odoo.html">the documentation</a> for the Odoo API. </p> <p> In order to connect to your database, you will need: <ol> <li>the database URL (eg: <code>mydatabase.dev.odoo.com</code>)</li> <li>the port number is <code>443</code></li> <li>the database <b>name</b> can be found in the shell by typing the following command: <kbd>echo&nbsp;$PGDATABASE</kbd>.</li> <li>the login and password for the desired user</li> </ol> </p> <h5>Platform API</h5> <p> If you are looking for an API to interact with <em>the Odoo.sh platform</em> (eg: creating a new project, new branches or requesting a rebuild), this is not planned to be developed for now. </p> </div> </div> </div> <div class="card"> <div class="card-header p-0"> <h5 class="mb-0"> <a class="d-block px-2 py-2 px-lg-4 py-lg-3" data-toggle="collapse" href="#deleted_repository"> I deleted my Github repository, why is my project not deleted as well? </a> </h5> </div> <div id="deleted_repository" class="collapse"> <div class="card-body"> <p> Deleting the Github repository does not delete the project, for the simple reason that an accidental deletion of the repository could potentially drop a production database without any warning. </p> <p> If you wish to create another project, you must first delete the old one. You can do so by going to the page <kbd>https://www.odoo.sh/project/&lt;your_project&gt;/settings</kbd> and follow the deletion procedure at the bottom of the page. </p> </div> </div> </div> <div class="card"> <div class="card-header p-0"> <h5 class="mb-0"> <a class="d-block px-2 py-2 px-lg-4 py-lg-3" data-toggle="collapse" href="#other_scm"> Can I use another SCM than Github on Odoo.sh ? </a> </h5> </div> <div id="other_scm" class="collapse"> <div class="card-body"> <p> Support for other SCM such as Gitlab, Bitbucket... might land in Odoo.sh at some point in the future but these are currently considered as a low priority in the Odoo.sh features wishlist. </p> <p> That said, you still have a mean to use a repository hosted by another provider than Github on Odoo.sh by using an intermediate Github repository which links to your repository through a submodule. This is less comfortable than using Gitlab, Bitbucket... directly but this is a workaround you'd want to consider. </p> </div> </div> </div> </div> <div class="col-lg-10 offset-lg-1 o-sh-faq-block mb-4" id="testers"> <h2 class="display-4 mt-4 mb-2">For <b>Testers</b></h2> <div class="card"> <div class="card-header p-0"> <h5 class="mb-0"> <a class="d-block px-2 py-2 px-lg-4 py-lg-3" data-toggle="collapse" href="#email_server"> Can I set my own email server? </a> </h5> </div> <div id="email_server" class="collapse"> <div class="card-body"> <p> Yes, but port <code>25</code> is not allowed. </p> <p> For more information, refer to the question <a href="#internet_access">Do I have Internet access on Odoo.sh containers?</a> </p> </div> </div> </div> <div class="card"> <div class="card-header p-0"> <h5 class="mb-0"> <a class="d-block px-2 py-2 px-lg-4 py-lg-3" data-toggle="collapse" href="#build_dropped"> Why is my build in the status 'Dropped'? </a> </h5> </div> <div id="build_dropped" class="collapse"> <div class="card-body"> <p> Builds are garbage collected after some time to make room for new development builds (production instances are, naturally, excluded from this process). </p> <p> If you wish to rebuild an instance for an existing branch, you can use the "Rebuild" button on the Builds page. </p> </div> </div> </div> <div class="card"> <div class="card-header p-0"> <h5 class="mb-0"> <a class="d-block px-2 py-2 px-lg-4 py-lg-3" data-toggle="collapse" href="#build_blocked"> Why is my database showing "This database is currently blocked"? </a> </h5> </div> <div id="build_blocked" class="collapse"> <div class="card-body"> <p> The platform will automatically lock databases that are expired for more than 3 months. If this was a staging or development build, simply use the "Rebuild" button on the Builds page to have a new one. If you need to salvage the expired database you can still download its dump. If it's a production database, you can start over by drag and dropping the production branch to development and back to production to make a fresh start, or you can <a href="https://www.odoo.com/help">contact us</a> if you need it unblocked. </p> </div> </div> </div> <div class="card"> <div class="card-header p-0"> <h5 class="mb-0"> <a class="d-block px-2 py-2 px-lg-4 py-lg-3" data-toggle="collapse" href="#without_demo"> Is it possible to install an instance without demo data? </a> </h5> </div> <div id="without_demo" class="collapse"> <div class="card-body"> <p> Development branches are always built with demo data installed. Only production branches are created completely empty. </p> <p> The point of the development branches is to run the unit tests. Currently, in Odoo, these unit tests depends on the demo data. </p> <p> In the future, if the test data get separated from the demo data, we would then consider the possibility to create development builds without demo data. </p> </div> </div> </div> <div class="card"> <div class="card-header p-0"> <h5 class="mb-0"> <a class="d-block px-2 py-2 px-lg-4 py-lg-3" data-toggle="collapse" href="#staging_neuter"> How can I deactivate external integrations in the staging environment? </a> </h5> </div> <div id="staging_neuter" class="collapse"> <div class="card-body"> <p>Most of this is taken care of by the platform, for all standard integrations.</p> <p>By default, in the staging environment:</p> <ul> <li>all outgoing emails are captured automatically (and custom outgoing mail servers are deactivated) </li> <li>all scheduled actions (<code>ir.cron</code> jobs) are deactivated, except the "Garbage Collection" one</li> <li>all <code>ir.logging</code> entries generated by Odoo.sh are removed</li> <li>social integrations are turned off (Push notifications, Facebook, LinkedIn, ...)</li> <li>shipment provider configurations are put in test mode or deactivated (DHL, Fedex, UPS,...)</li> <li>bank account synchronizations are put in sandbox mode (Yodlee, Ponto, ...)</li> <li>seller accounts for marketplaces sync are removed (eBay, Amazon, ...)</li> <li>all built-in payment processor credentials are removed (Stripe, Paypal, Ingenico, ...)</li> <li>calendar and drive sync tokens are removed (Google Calendar and Google Drive, Microsoft calendar, ...)</li> <li>In-App-Purchase (IAP) accounts are removed (Lead enrichment, Invoice OCR, ...)</li> <li>localization-related government EDIs (e-Invoice, ...) tokens are removed</li> <li>the <code>/robots.txt</code> website route is disabled to prevent duplicated content SEO penalties</li> </ul> <p> In addition, special environment variables are available if you'd like your code to dynamically adapt to the environment: </p> <ul> <li> <code>ODOO_STAGE</code> : contains the current stage, possible values can be (but are not limited to): <code>production | staging | dev </code>. Other values, are used for non customer facing internal stages and for support. </li> <li><code>ODOO_VERSION</code> : matches the current build's Odoo version (eg: <code>15.0</code>)</li> </ul> </div> </div> </div> </div> <div class="col-lg-10 offset-lg-1 o-sh-faq-block mb-4" id="project_managers"> <h2 class="display-4 mt-4 mb-2">For <b>Project Managers</b></h2> <div class="card"> <div class="card-header p-0"> <h5 class="mb-0"> <a class="d-block px-2 py-2 px-lg-4 py-lg-3" data-toggle="collapse" href="#who_can_subscribe"> Who can subscribe to Odoo.sh? </a> </h5> </div> <div id="who_can_subscribe" class="collapse"> <div class="card-body"> <p> <ul> <li>Partners: unlimited trial projects.</li> <li>Enterprise customers: You must subscribe to Odoo.sh, meaning your enterprise subscription has to include Odoo.sh.</li> </ul> You can read <a href="/pricing">our pricing</a> page to learn more. </p> <p> When creating your project, if you have the error message:<br/> <code>The provided subscription code does not appear to be valid for Odoo.sh</code><br/> It means your subscription is either not a partnership subscription, either this is an enterprise subscription which does not include Odoo.sh. </p> </div> </div> </div> <div class="card"> <div class="card-header p-0"> <h5 class="mb-0"> <a class="d-block px-2 py-2 px-lg-4 py-lg-3" data-toggle="collapse" href="#trial_project"> What is a trial project? </a> </h5> </div> <div id="trial_project" class="collapse"> <div class="card-body"> <p> A trial project is activated with a partnership subscription code and is designed to test and evaluate Odoo.sh. It grants access to the full suite of features Odoo.sh offers unless explicitly mentioned. Trial projects are limited to 1 worker, 2 staging environments and 1GB of storage per database build. </p> <p> These projects can be utilized for 30 days before they are terminated. If you intend to continue using the project, please <a href="https://www.odoo.com/pricing">obtain a subscription</a> for the Odoo.sh products and update the activation code on the Settings page accordingly before the trial period expires. </p> <p> A trial project should not be used to store valuable data, as backups of trial projects are not guaranteed like those of paid projects and may be deleted after the trial period ends. </p> </div> </div> </div> <div class="card"> <div class="card-header p-0"> <h5 class="mb-0"> <a class="d-block px-2 py-2 px-lg-4 py-lg-3" data-toggle="collapse" href="#can_i_leave"> Can I stop using Odoo.sh at any time? </a> </h5> </div> <div id="can_i_leave" class="collapse"> <div class="card-body"> <p> Yes, you can. </p> <p> If you decide you no longer want your production database to be hosted by Odoo.sh, you can download a dump of your database and import it on your own Odoo server. </p> <p> You can generate and download a dump of your database in the backups tab of your production branch. </p> <p> The Odoo releases used by Odoo.sh are the releases you can download and install on your own machines, and which are officially supported to be used as on-premise installation. For that matter, we do not plan to use the saas releases of Odoo, which are not meant to be installed on an on-premise installation. </p> </div> </div> </div> <div class="card"> <div class="card-header p-0"> <h5 class="mb-0"> <a class="d-block px-2 py-2 px-lg-4 py-lg-3" data-toggle="collapse" href="#hosted_odoo_versions"> What version of Odoo can I host on Odoo.sh? </a> </h5> </div> <div id="hosted_odoo_versions" class="collapse"> <div class="card-body"> <p> Odoo.sh allows you to create a project in any of the <a href="https://www.odoo.com/documentation/latest/administration/maintain/supported_versions.html">supported major versions</a>. </p> <p> Once a version reaches its end of support, projects still using this version will have 2 years to upgrade to any of the supported major versions. After these 2 years, any database still using this version will no longer be available for its users. </p> </div> </div> </div> </div> <div class="col-lg-10 offset-lg-1 o-sh-faq-block mb-5" id="system_administrator"> <h2 class="display-4 mt-4 mb-2">For <b>System Administrators</b></h2> <div class="card"> <div class="card-header p-0"> <h5 class="m-0"> <a class="d-block px-2 py-2 px-lg-4 py-lg-3" data-toggle="collapse" href="#import_database"> Can I import my database on Odoo.sh? </a> </h5> </div> <div id="import_database" class="collapse"> <div class="card-body"> <p> Yes, on production or staging branches under the backups tab you can import a database dump. Make sure it is of the requested format and runs on the same version of Odoo. </p> <p> <strong>Note:</strong> Odoo.sh only hosts major Odoo versions, intermediate versions (eg: 14.1, 15.2) are not supported. </p> </div> </div> </div> <div class="card"> <div class="card-header p-0"> <h5 class="m-0"> <a class="d-block px-2 py-2 px-lg-4 py-lg-3" data-toggle="collapse" href="#custom_domains"> How can I setup my own domain name? </a> </h5> </div> <div id="custom_domains" class="collapse"> <div class="card-body"> <p> In the settings page of your project, under the section "Custom domains", you will be able to add custom domains for your production database. </p> <p> Once your domain added to this list, you will have to set the DNS entries in the manager of your domain name registrar.<br/> Perform the following operations: <ul> <li>Create a CNAME record www.yourdomain.com pointing to &lt;yourdatabase&gt;.odoo.com</li> <li>If you want to use the naked domain (e.g. yourdomain.com), you need to redirect yourdomain.com to www.yourdomain.com.</li> </ul> We do not allow to configure naked domains in the platform because these domains must be configured with A records which only accept IP addresses as possible values. The IP address of each database can change, following an upgrade or a hardware failure, and this would mean the configuration of the A record for the naked domain could suddenly no longer work, without notification. </p> <p> <strong>Note:</strong> when adding a domain name, the <code>/robots.txt</code> website route will be disabled for requests reaching your project's <code>.odoo.com</code> domain in order to avoid SEO duplicated content penalties. </p> <h5>SSL/HTTPS</h5> <p> SSL is enabled by default. If the redirection is correctly set up, the platform will automatically generate an SSL certificate with Let's Encrypt within the hour.<br/> It is currently not possible to configure your own SSL certificates on the Odoo.sh platform. We are considering the feature. </p> </div> </div> </div> <div class="card"> <div class="card-header p-0"> <h5 class="m-0"> <a class="d-block px-2 py-2 px-lg-4 py-lg-3" data-toggle="collapse" href="#odoo_code_update"> How do I maintain the Odoo source code up to date? </a> </h5> </div> <div id="odoo_code_update" class="collapse"> <div class="card-body"> <p> You don't have to, the platform does it for you. On a weekly basis, the platform freezes a revision by selecting the last green set of builds for each version on <a href="https://runbot.odoo.com/" target="_blank">our R&D CI platform</a> and the servers's Odoo repositories (odoo, enterprise, themes) are updated accordingly. On special occasions, this procedure might be triggered a second time during the week in case of major software issue or when an urgent security update is published. </p> <p> <strong>Note:</strong> in case of severe security update or hardware/performance problem, we reserve the right to interrupt the service in order to upgrade the platform or restart a server, and this in accordance with <a href="https://www.odoo.com/cloud-sla" target="_blank">our SLA</a>. </p> </div> </div> </div> <div class="card"> <div class="card-header p-0"> <h5 class="m-0"> <a class="d-block px-2 py-2 px-lg-4 py-lg-3" data-toggle="collapse" href="#odoo_unsupported_versions"> What happens when an Odoo version becomes unsupported? </a> </h5> </div> <div id="odoo_unsupported_versions" class="collapse"> <div class="card-body"> <p> Odoo provides support and bug fixing for the <a href="https://www.odoo.com/documentation/latest/administration/maintain/supported_versions.html" target="_blank"> 3 last major versions of Odoo. </a> </p> <p> Odoo.sh was designed to enforce this policy, but we allow for a 2-year extension after a version becomes unsupported. During this two-year extension period, users will see a weekly intermediate message before accessing the backend, and there's no way to remove this message. </p> <p> After this 2-year extension, when an unsupported Odoo version reaches the age of 5 years, it is phased out of Odoo.sh. The project on Odoo.sh as well as all tools required for a successful upgrade remain available, however project's instances still using a phased out version will no longer be accessible. </p> </div> </div> </div> <div class="card"> <div class="card-header p-0"> <h5 class="m-0"> <a class="d-block px-2 py-2 px-lg-4 py-lg-3" data-toggle="collapse" href="#backups"> What is the backup policy of Odoo.sh databases? </a> </h5> </div> <div id="backups" class="collapse"> <div class="card-body"> <p><b>Production builds</b> are backuped every 24 hours.</p> <p>We keep 14 full backups of each Odoo production instance for up to 3 months: 1/day for 7 days, 1/week for 4 weeks, 1/month for 3 months.</p> <p>We do not backup nor ensure recovery of development and staging builds as those builds are not assumed to be used for persistent data storage</p> </div> </div> </div> <div class="card"> <div class="card-header p-0"> <h5 class="m-0"> <a class="d-block px-2 py-2 px-lg-4 py-lg-3" data-toggle="collapse" href="#postgresql"> Can I remotely connect to an Odoo.sh postgresql database? </a> </h5> </div> <div id="postgresql" class="collapse"> <div class="card-body"> <p> PostgreSQL External Access allows <strong>read-only</strong> connections from remote machines to an Odoo.sh database, such as for connecting BI tools. <strong>This feature is exclusively accessible to projects operating on dedicated servers.</strong> The use of PostgreSQL clients that support <strong>SSL is mandatory</strong>. Some PostgreSQL clients are not compatible with Odoo.sh. To date, <strong>PgAdmin</strong> and <strong>Qlik Sense</strong> have been identified as incompatible. Most mainstream Business Intelligence tools (Power BI, Tableau, DBeaver, Datapine, Zoho Analytics) have been successfully tested against the feature. It should be noted that sometimes there are no checkboxes to force SSL. In such cases, <code>?sslmode=require</code> should be specified in the ODBC/JDBC additional parameters. </p> <p> When operating in shared hosting mode, if you require communication with a third-party system or application (e-commerce, BI reporting, etc.), you will need to establish the integration at the HTTP layer. </p> </div> </div> </div> <div class="card"> <div class="card-header p-0"> <h5 class="m-0"> <a class="d-block px-2 py-2 px-lg-4 py-lg-3" data-toggle="collapse" href="#hosting-locations"> What are the locations of the Odoo.sh hosting zones? </a> </h5> </div> <div id="hosting-locations" class="collapse"> <div class="card-body"> <p>Odoo.sh uses the following GCP data centers:</p> <ul> <li> <b>Americas:</b> Iowa, United States </li> <li> <b>Europe:</b> Saint-Ghislain, Belgium </li> <li> <b>Middle East:</b> Dammam, Saudi Arabia </li> <li> <b>Southern Asia:</b> Mumbai, India </li> <li> <b>Other Asia:</b> Singapore </li> <li> <b>Oceania:</b> Sydney, Australia </li> </ul> <p> It is not possible to request to change the region of an Odoo.sh project however this operation can be completed manually by transferring a backup from one project to another. </p> <p> Please note that the underlying hosting provider and the locations of the data centers within a zone are not contractual and subject to change without notice. <a href="https://www.odoo.com/privacy#part_10" target="_blank">Read more about our third party service providers</a>. </p> </div> </div> </div> <div class="card"> <div class="card-header p-0"> <h5 class="m-0"> <a class="d-block px-2 py-2 px-lg-4 py-lg-3" data-toggle="collapse" href="#hardware"> What are the hardware specifications of the Odoo.sh servers? </a> </h5> </div> <div id="hardware" class="collapse"> <div class="card-body"> <p> An Odoo.sh instance is not bound to a particular server for it's whole lifetime and will be migrated many times on different servers during OS upgrades, server consolidation, ...<br/> Therefore we do not communicate those varying noncontractual details. </p> </div> </div> </div> <div class="card"> <div class="card-header p-0"> <h5 class="m-0"> <a class="d-block px-2 py-2 px-lg-4 py-lg-3" data-toggle="collapse" href="#ip-address"> Do Odoo.sh instances have static IP addresses? </a> </h5> </div> <div id="ip-address" class="collapse"> <div class="card-body"> <p> Dedicated servers have static IP addresses, however these can be changed in the event of architecture migration or disaster recovery. </p> <p> Shared servers are regularily consolidated, hence instances hosted on those servers may be moved from one server to another more often. </p> <p> In all cases, a notification is sent to project administrators when an IP address change occurs. Additionally, a mechanism is available to apply custom actions in response to the IP address change (eg: sending an email, contacting a firewall API, ...). For more details, <a href="/doc/advanced/frequent_technical_questions.html#ip-address-change" target="_blank"> please refer to the documentation. </a> </p> </div> </div> </div> <div class="card"> <div class="card-header p-0"> <h5 class="m-0"> <a class="d-block px-2 py-2 px-lg-4 py-lg-3" data-toggle="collapse" href="#transfer_owner"> Can I transfer the ownership of a Github repository linked to Odoo.sh? </a> </h5> </div> <div id="transfer_owner" class="collapse"> <div class="card-body"> <p> It is indeed possible to <a href="https://docs.github.com/en/repositories/creating-and-managing-repositories/transferring-a-repository"> transfer the ownership </a> of the repository linked to your Odoo.sh project. </p> <p> <strong>When a GitHub repository is transferred to an organization,</strong> <a href="https://docs.github.com/en/organizations/managing-oauth-access-to-your-organizations-data/about-oauth-app-access-restrictions#about-oauth-app-access-restrictions"> OAuth restrictions </a> are automatically enabled, which can disable webhooks. To ensure the platform continues to function properly, you need to manually re-enable these webhooks: <ol> <li>Log into your GitHub organization with administrator privileges.</li> <li>Navigate to the <code>Settings > Webhooks</code> section of your transferred repository.</li> <li>Select <code>Edit</code> on the Odoo.sh webhook. Verify that there is no yellow notification at the top indicating that the webhook is muted.</li> <li>If the webhook is indeed muted, click on the last link in the yellow notification and <code>Grant access</code> to the Odoo.sh application within your organization.</li> </ol> <strong>This step is crucial for maintaining the functionality of your projects on the platform.</strong> </p> <p> After performing the transfer and webhooks reactivation, the platform will be aware of the ownership and url change upon the reception of the next commit's webhook. Even an empty commit is sufficient to trigger the update, here is an example of empty commit: </p> <p> <code>git commit --allow-empty -m "Changed repository ownership"; git push</code> </p> <p> <strong>Note:</strong> in case the repository transfer is done from/to a github organisation, you need to have the appropriate permissions. If you don't, a workaround is to transfer the repository to a standard account as a middle step. In case of trouble please read the <a href="https://docs.github.com/en/repositories/creating-and-managing-repositories/transferring-a-repository#about-repository-transfers" target="_blank"> github repository transfer documentation </a>. </p> </div> </div> </div> </div> </div> </div> </div> </div> </section> </div> </main> <footer id="footer" class="sh-bg-blue-darker"> <div class="container"> <div class="d-flex flex-column align-items-center flex-md-row justify-content-center justify-content-md-between"> <a class="my-4" href="https://www.odoo.com" target="_blank"> <img src="/paas_website/static/src/img/logo.png" class="img" height="25" alt="Odoo" loading="lazy"/> </a> <div class=" o_social_icons mt-0 mb-5 mt-md-4 mb-md-4"> <a class="ml-2 p-2 text-white" href="https://www.facebook.com/odoo" target="_blank"><i class="fa fa-facebook"></i></a> <a class="ml-2 p-2 text-white" href="https://twitter.com/Odoo" target="_blank"><i class="fa fa-twitter"></i></a> <a class="ml-2 p-2 text-white" href="https://www.linkedin.com/company/odoo" target="_blank"><i class="fa fa-linkedin"></i></a> <a class="ml-2 p-2 text-white" href="https://www.youtube.com/user/OpenERPonline" target="_blank"><i class="fa fa-youtube-play"></i></a> <a class="ml-2 p-2 text-white" href="mailto:info@odoo.com"><i class="fa fa-envelope"></i></a> </div> </div> </div> </footer> </div> <script id="tracking_code" async="1" src="https://www.googletagmanager.com/gtag/js?id=UA-52174891-3"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-52174891-3'); </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10