All articles

Getting Started

What is CICDoo Getting started: the onboarding wizard The Dashboard and Infrastructure Map

Concepts

Production, staging and development stages Domains, subdomains and SSL Odoo versions and editions (Community vs Enterprise) Workspaces and team collaboration

Servers

Adding a server Server domains and DNS Using a load balancer Server actions: deploy, logs and charts Deleting a server

Projects & Git

Creating a project Connecting GitHub Project GitHub settings and webhook Connecting GitLab Branches and instances Tagging and filtering projects High availability with app nodes Project environments, extensions and deletion

Instances & Console

Creating an instance Restarting, stopping and removing an instance Merging branches between stages Web IDE and remote access SSH access to instances Instance settings explained Deployments and the job queue

Agent Tasks

What agent tasks are Setting up agent tasks Running a task and reviewing the result Agent time and top-ups Agent insights and task filters

Monitoring & Backups

Monitoring your instance Backups and restore S3 storage, uploads and bulk backup actions Alert notifications (email and SMS)

Workspaces & Permissions

Inviting workspace members Member permissions and resource access A member cannot see or use a resource Audit log and server activity

Account & Security

Two-factor authentication (2FA) Profile and integrations settings Passwords and account recovery

Billing & Plans

Plans and pricing Upgrading and managing your subscription If a project subscription goes unpaid The channel partner program Onboarding a client as a partner

Support & Tickets

Opening a support ticket Getting help from the CICDoo team

Troubleshooting

Troubleshooting: cannot connect a server Troubleshooting: a deployment failed Troubleshooting: git push fails with 403 after moving a repository Troubleshooting: my instance is down or slow Troubleshooting: domain or SSL problems

Instances & Console

Instance settings explained

How to change an instance's configuration in the Settings tab, what each of the six sub-tabs controls, and when each change takes effect.

Changing a setting

  1. Open the instance in the Console and click the Settings tab.
  2. Click the sub-tab you need: Odoo, PostgreSQL, Security, Domain, Nginx or Packages. On narrow screens the sub-tabs show only their icons.
  3. Edit the fields.
  4. Click the save button at the bottom of that sub-tab (for example "Save Odoo Configuration"). Each sub-tab saves on its own, so save before switching to another one.
  5. Apply the change if needed, as described below.

When the change takes effect depends on the sub-tab:

  • Security and Nginx: applied automatically within seconds by a Reconfigure job, with no restart. A message confirms "Nginx configuration applied.". If the web server rejects the new configuration, it is rolled back, the instance is left unchanged and the Queue tab shows the error.
  • Odoo, PostgreSQL and Domain: applied on the next restart. Run a Hard Restart after saving, see Restarting, stopping and removing an instance.
  • Packages: applied when the containers are rebuilt on the next deploy.

Note: In a workspace, the Settings tab is only shown to members with the "Instance settings" permission. See Member permissions and resource access.

Odoo

Settings for the Odoo container:

  • Odoo Version: on staging and development instances, choose "Follow project" or pin the instance to another version, for example to rehearse an upgrade. A pinned version takes effect on the next restart, and the existing database is not migrated: restore a backup made on that version, or reset the database. Production always runs the project version, and the field is read-only there.
  • Shared Memory (MB), Memory Limit (MB) (0 means unlimited) and Reserved Memory (MB).
  • Odoo Configuration (odoo.conf): your own odoo.conf lines, such as workers. Reserved keys (admin_passwd, data_dir and the port keys) are managed automatically. Database connection keys are optional.
  • Extra Repositories: one per line as URL,branch,commit/tag. When set, these replace the project's list for this instance (they are not merged with it). Leave it empty to use the project's list. If one of these repositories is transferred or renamed on GitHub, the instance repoints it automatically; see Troubleshooting: git push fails with 403 after moving a repository.
  • Startup Script (bash, runs as root in odoo container): runs inside the Odoo container after services start, on every restart and upgrade. After it has run, a line under the box shows "Last run succeeded" or "Last run failed" with the time in UTC. Click Show output to read what the script printed.
  • Environment Variables (odoo container): one KEY=VALUE per line.
  • Server Shared Addons: use an addons folder shared on the server, set in Server Shared Addons Path.
  • External Filestore: keep the Odoo filestore in a server folder, set in External Filestore Path.
  • Backup Schedule: on production only, space-separated times in HH:MM format (for example 02:00 14:00). Leave it empty to disable. Staging and development instances show "No backup schedule"; you can still take a backup whenever you need one from the Backups tab.
  • Backup Format: "Plain SQL", "Custom (compressed)" or "Directory (parallel)", and Backup Parallel Jobs for the last two (0 uses all CPU cores). See Backups and restore.
  • Auto Restart: decides whether the instance should be running. With this on, CICDoo starts the instance again after a failure or a stop. With it off, CICDoo keeps the instance stopped, and stops it again within a few minutes if a restart or deploy brings it up. Production instances have it on by default.
  • Turn off auto-restart after (hours): on staging and development only. CICDoo turns Auto Restart off this many hours after it was switched on or the instance was last restarted by hand, and the instance then stops. The default is 24 hours; 0 keeps it running. Changing the value starts the count again, and the time it runs out is shown under the field.

PostgreSQL

Settings for the database container. This sub-tab is not shown on high availability app nodes or replicas, because their database settings belong to the primary; see High availability with app nodes.

  • Shared Memory (MB), Memory Limit (MB) and Reserved Memory (MB).
  • PostgreSQL Extensions: one extension per line, for example postgis or pg_trgm.
  • PostgreSQL Configuration: settings such as shared_buffers or work_mem. Logging is managed by the platform and cannot be set here, and any shared_preload_libraries you set is added to the platform's list.
  • Startup Script (bash, runs as root in postgres container), with the same "Last run succeeded" or "Last run failed" line and Show output as the Odoo script.
  • Environment Variables (postgres container): one KEY=VALUE per line.
  • Anonymize Database: anonymize sensitive data when cloning. Shown on staging and development instances only.

Security

  • CORS Origins: sites allowed to make cross-origin requests, one per line.
  • IP Whitelist: one address, CIDR block or range per line. While this list has anything in it, every other address is refused.
  • IP Blacklist: same format. An address that is also on the whitelist is let through.
  • Enable Rate Limiting: when on, set a Login Rate Limit and a General Rate Limit.
  • Enable Content Security Policy (CSP).

The IP lists treat IPv4 and IPv6 separately: a whitelist with only IPv4 addresses also refuses visitors arriving over IPv6. If uptime monitoring is on for the instance, a whitelist that does not include the monitoring provider's addresses makes the instance look down and sends alerts.

Domain

  • Primary Domain: the instance's main address, shown for reference.
  • Extra Domains: more domains for the same instance, one per line. Their DNS must point to your server.
  • Canonical Domain: "Redirect root domain to www", "Redirect www to root domain" or "Serve both, no redirect". Both names are served and included in the SSL certificate, and visitors to the other one are redirected to the canonical one, keeping the path. Add just example.com in Extra Domains and www.example.com is handled for you, as long as its DNS also points at your server. Deeper names like app.example.com are never redirected.
  • Cloudflare Proxy: shows whether the server sits behind a Cloudflare proxy. It is read-only here.
  • Force Generate SSL: regenerate the SSL certificates on the next restart.

See Domains, subdomains and SSL and Troubleshooting: domain or SSL problems.

Nginx

Web server tuning: Max Upload Size, Proxy Read Timeout, Proxy Connect Timeout, Keepalive Timeout, Send Timeout and the X-Frame-Options header (SAMEORIGIN or DENY). Raise the upload size if large file uploads fail in Odoo, and the proxy read timeout if long reports or imports time out.

Packages

Odoo Debian Packages and PostgreSQL Debian Packages: extra system packages to install in each container. Changing packages requires a container rebuild on the next deploy.

Related: Restarting, stopping and removing an instance, Deployments and the job queue, Backups and restore.

If you get stuck, open a support ticket from the Tickets page or the chat widget.

Still stuck? Open a ticket from the app or talk to an engineer.