All articles
Getting Started
What is CICDoo Getting started: the onboarding wizard The Dashboard and Infrastructure MapConcepts
Production, staging and development stages Domains, subdomains and SSL Odoo versions and editions (Community vs Enterprise) Workspaces and team collaborationServers
Adding a server Server domains and DNS Using a load balancer Server actions: deploy, logs and charts Deleting a serverProjects & 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 deletionInstances & 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 queueAgent 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 filtersMonitoring & 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 activityAccount & Security
Two-factor authentication (2FA) Profile and integrations settings Passwords and account recoveryBilling & Plans
Plans and pricing Upgrading and managing your subscription If a project subscription goes unpaid The channel partner program Onboarding a client as a partnerSupport & Tickets
Opening a support ticket Getting help from the CICDoo teamTroubleshooting
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 problemsServers
Server domains and DNS
How a server is addressed (your own domain or a cicdoo.com address), which DNS records to create, how instance addresses are built, Cloudflare proxy settings, and how to refresh DNS or re-issue SSL.
Two ways to name your server
When you add a server, the "Use my own domain" toggle on the Domain step decides how the server is addressed. In the "Edit Server" window the same toggle is labelled "Own Domain".
- A cicdoo.com address (toggle off, the default when adding): you enter the server's public IPv4 address. CICDoo creates a cicdoo.com subdomain for the server and one managed DNS record per instance, all pointing at that IP. You do not need to touch DNS. Your instances are reachable on cicdoo.com addresses rather than your own brand.
- Your own domain (toggle on): you enter a hostname you control, for example srv1.example.com, and you create the DNS records with your DNS provider.
Each instance gets a free SSL certificate for its own address in both cases, so ports 80 and 443 must be reachable from the internet.
How instance addresses are built
Every instance replaces the first part of the server's hostname. A server at srv1.example.com publishes an instance built from branch main of repository shop at main-shop.example.com. The Domain step shows a live preview of this as you type.
Because of this:
- Use a subdomain such as srv1.example.com, never your bare root domain. With a root domain, the first part that gets replaced is your domain name itself, and the wizard warns you about it.
- Pick the final hostname before you assign projects. Changing it later, or switching between your own domain and a cicdoo.com address, changes the address of every instance on the server.
Setting up DNS for your own domain
Create the records before you add the server, because CICDoo resolves the hostname the moment you submit, and adding the server fails if it does not resolve yet.
- At your DNS provider, add an A record for the server hostname (for example srv1.example.com) pointing to the server's IP.
- Add a wildcard A record for the instance addresses (for example *.example.com) pointing to the same IP. This covers every instance at once.
- Wait until the hostname resolves, then add the server, see Adding a server.
- Turn on "Use my own domain" on the Domain step and enter the hostname in Server Hostname.
Enter a hostname only, without http:// or a path. If SSH runs on a port other than 22, add it after a colon, for example srv1.example.com:222. If you type an IP address instead of a hostname, the wizard offers a "Use a cicdoo.com address for this IP" button that switches you to a cicdoo.com address.
Switching an existing server's domain option
- On the Servers page, click "Actions" on the server card and choose "Edit Server".
- Go to the Domain step.
- Turn "Own Domain" on and enter the Domain Name, or turn it off and enter the Server IP Address. When CICDoo manages the address, the assigned cicdoo.com subdomain is shown under the IP field.
- Click "Save Changes".
Remember that this changes the address of every instance on the server.
Refreshing DNS
Use Refresh DNS after you change where your own domain points, for example after moving the server to a new IP.
- On the Servers page, click "Actions" on the server card.
- Click "Refresh DNS".
- A message confirms the refresh, and the card shows the updated IP address.
For a server on your own domain, CICDoo looks up the hostname again and stores the IP it resolves to. For a server on a cicdoo.com address, the IP you entered is kept as is; change it in Edit Server instead. Deploying a server on your own domain also refreshes its DNS first. Workspace members need the "Edit server settings" permission.
Cloudflare proxy considerations
If your domain is proxied through Cloudflare (orange cloud), the hostname resolves to Cloudflare's addresses rather than your server. In that case:
- Open "Advanced network options" on the Domain step of the add or edit window.
- Turn on Cloudflare Proxy.
- Enter the server's real address in Connectivity IP. Without it, SSH breaks and CICDoo cannot recognise the server when it calls back. You can enter several addresses separated by commas if the server connects out through a different address than it listens on; the first one is used for SSH.
With proxying on, CICDoo skips SSL certificate generation and relies on Cloudflare for HTTPS.
Re-issuing the SSL certificate
The Maintenance step of the add and edit windows has a Force Generate SSL (next deploy) toggle. When it is on, CICDoo re-issues the server's certificate on the next deploy even if a valid one already exists, then the toggle switches itself off after a successful deploy. This can help after a domain change.
- Open "Edit Server" from the server's Actions menu and go to the Maintenance step.
- Turn on "Force Generate SSL (next deploy)".
- Click "Save Changes".
- Run "Deploy" from the server's Actions menu.
Checklist when a domain does not resolve
- Confirm the A record and the wildcard record at your provider point to the server IP.
- If you use Cloudflare's proxy, confirm Cloudflare Proxy is on and the Connectivity IP is set.
- Run "Refresh DNS" from the server's Actions menu.
- If instances still show certificate errors, see Troubleshooting: domain or SSL problems.
Related: Adding a server, Server actions: deploy, logs and charts, Domains, subdomains and SSL.
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.