Settings reference
Addresses, DNS and HTTPS
The portal domain, the wildcard for apps, and HTTPS through Cloudflare or straight on the server.
The two domains
In the portal: Setup wizard, step 1, or Admin, Settings, Addresses
Domain is the address colleagues open, for example apps.example.com. Every link cyantula writes (in a mail, in Slack, in a sign-in callback) is built from it.
Every app gets a name under that same domain: crm.apps.example.com. So you need two DNS records pointing at the server, or at the Cloudflare tunnel in front of it:
apps.example.com*.apps.example.com(a wildcard record)
With a Cloudflare API token cyantula creates these records itself. Only fill in Apps domain (under Advanced) when apps should live on a different domain than the portal.
Names apps may not take lists the names your company already uses on that domain (ftp, webmail, vpn, autodiscover). An app's name becomes its address, so cyantula refuses those for new apps.
How traffic reaches the server
Pick one. The form only shows the settings of the mode you pick.
- Through Cloudflare. A Cloudflare tunnel in front handles HTTPS and forwards to port 8080 on the server. No ports have to be open to the internet. The easiest choice when your domain is already on Cloudflare.
- Straight to this server. The DNS records point at the server, which answers on ports 80 and 443 itself, with certificates you upload or that Let's Encrypt issues.
Cloudflare API token
With this token cyantula creates the tunnel, runs it on the server, and adds a DNS record for the portal and for every new app. Without it you set up the tunnel and the hostnames by hand.
- Open My Profile, API Tokens in the Cloudflare dashboard and click Create Token, then Create Custom Token.
- Give it these permissions:
- Zone, DNS, Edit
- Zone, SSL and Certificates, Edit
- Account, Cloudflare Tunnel, Edit
- Under Zone Resources, include only the zone of your apps domain. Under Account Resources, your account.
- Create the token, copy it, and paste it in Cloudflare API token. Fill in Cloudflare zone only when it differs from the apps domain, for example
example.comwhen apps live underapps.example.com.
Straight to the server: certificates
Ports 80 and 443 must be open on the server. The installer opens them when they are free; later you can run:
cyantula configure --ports directThen choose how the server gets its certificates:
- Upload them. A certificate for the portal address and a wildcard certificate for
*.apps.example.com, each with its private key, in PEM format and without a passphrase. Include the intermediate certificates. The wildcard does not cover the portal address itself, so the portal needs its own. - Let's Encrypt. Fill in Email for automatic certificates and the server requests a certificate for the portal over port 80. A wildcard cannot be issued this way, so you still upload the wildcard for apps.
Trying it out first? Point ACME directory URL (under Advanced) at the Let's Encrypt staging directory so a test does not use up the production limits.
Check that it works
The setup wizard asks your browser to reach the portal over HTTPS before it finishes, and warns you when nothing answers, when the certificate is refused, or when another server answers. You can finish anyway while DNS is still on its way.
Later, the card at the top of the Addresses page checks that every published app has its DNS record and every custom domain its certificate. Added the Cloudflare token after apps were already published? Fix creates the records those deploys skipped.