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

Concepts

Domains, subdomains and SSL

How domains work in CICDoo, how to choose your own domain or a cicdoo.com address for a server, the Cloudflare proxy option, and how to add extra domains and force SSL per instance.

How addresses work

Every server has a hostname, and every instance on that server gets its own address derived from it. The first part of the server hostname is replaced by each instance, so a server at srv1.example.com publishes an instance built from branch main of repository shop at main-shop.example.com. Each instance gets a free SSL certificate for its own address, which needs ports 80 and 443 reachable from the internet.

You decide how a server is reached when you add it:

  • A cicdoo.com address (the default): you enter the server's IP address and CICDoo creates a cicdoo.com subdomain for the server, plus one managed DNS record per instance. You do not need to touch DNS at all.
  • Your own domain: you enter a hostname you control, and you create the DNS records yourself.

Changing a server's domain later changes the address of every instance on it, so pick the final one when you add the server.

Use a cicdoo.com address for a server

  1. On the Servers page, start adding a server and fill in the first step. See Adding a server.
  2. On the Domain step, leave "Use my own domain" off.
  3. Enter the "Server IP Address", the server's public IPv4 address. If SSH does not run on port 22, add the port, for example 203.0.113.10:222.
  4. Continue through the remaining steps and click "Add Server".

Use your own domain for a server

Create the DNS records before you submit the form, because CICDoo checks that the hostname resolves the moment you submit.

  1. At your DNS provider, add an A record for the server hostname (for example srv1.example.com) pointing to the server's IP address.
  2. Add a wildcard A record (for example *.example.com) pointing to the same IP, so every instance address resolves.
  3. In the "Add New Server" form, on the Domain step, turn on "Use my own domain".
  4. Enter the "Server Hostname". Use a subdomain you control, not your bare root domain, and not an IP address. A preview shows the address an example instance would get.
  5. Continue through the remaining steps and click "Add Server".

If you entered an IP address by mistake, the form offers "Use a cicdoo.com address for this IP" to switch to the cicdoo.com option. To change this choice on an existing server, use the "Own Domain" toggle and the "Domain Name" field in the server's edit form. See Server domains and DNS.

Put a server behind the Cloudflare proxy

Only use this if the DNS records for the server are proxied by Cloudflare (the orange cloud).

  1. On the Domain step of the server form, open "Advanced network options".
  2. Turn on "Cloudflare Proxy".
  3. Enter the server's real address in "Connectivity IP". It is required with the proxy on, because the hostname then resolves to Cloudflare rather than your server, and CICDoo needs the real address for SSH.

With the proxy on, CICDoo skips SSL certificate generation and relies on Cloudflare for HTTPS. This is also a useful fallback if certificate generation is ever temporarily unavailable; the app shows a notification when that happens.

Add extra domains to an instance

Each instance has its own domain settings.

  1. Open the instance in the project console and go to the "Settings" tab. On smaller screens the tabs show only icons; Settings is the gear icon.
  2. Open the "Domain" sub-tab (globe icon). The "Primary Domain:" line at the top shows the address the instance is served on.
  3. In "Extra Domains", enter additional domains, one per line. The DNS for each one must point to your server.
  4. In "Canonical Domain", choose how www and the root domain relate:

    • "Redirect root domain to www" (the default)
    • "Redirect www to root domain"
    • "Serve both, no redirect"
  5. Click "Save Domain Settings".

Both the www and root names are served and included in the certificate. Add just example.com and www.example.com is handled for you, as long as its DNS also points at your server. Deeper names such as app.example.com are never redirected.

The "Cloudflare Proxy" toggle on this tab only shows whether the instance is behind the proxy. It follows the server setting and cannot be changed here.

Force a new SSL certificate for an instance

Use this if a certificate is missing or needs to be replaced.

  1. In the instance console, open "Settings", then the "Domain" sub-tab.
  2. Turn on "Force Generate SSL".
  3. Click "Save Domain Settings".
  4. Restart the instance. The certificates are regenerated on that restart. See Restarting, stopping and removing an instance.

In a workspace, the instance Settings tab only appears for members allowed to change instance settings.

Related: Troubleshooting: domain or SSL problems, Instance settings explained, Using a load balancer.

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.