Deploy on DigitalOcean
This content is not available in your language yet.
This guide takes you from nothing to a Geometer server on DigitalOcean. Geometer charges for assurance (Guard, the signed licence, alerts, the monthly report), not hosting: the server, its bill and your AI key and WhatsApp account are yours. The general steps and what the install does are in Deploy on your server.
What you need
Section titled “What you need”- A Basic Droplet with 2 vCPU and 4 GB of memory running Ubuntu 24.04 (or 22.04) x86_64, in the Bangalore (BLR1) region so your shops’ customers are close. That is the bundle’s stated size for about ten shops. See DigitalOcean’s pricing for what it costs; Geometer does not host it or bill for it.
- A domain you control, where you can add an
Arecord. - A Geometer account with a pairing code (step 1), and the release tag Geometer gave you.
- Per shop and for the model, the keys listed in Deploy on your server.
1. Get your pairing code
Section titled “1. Get your pairing code”Sign in at geometer.dev/account, choose Add a server and copy the one-time code (it starts gfp_). It works once and runs out after two hours, so make the server soon after you copy it. The page shows the code only once.
2. Fill in the cloud-init file
Section titled “2. Fill in the cloud-init file”Download the cloud-init file, bundle/cloud-init.yaml, and fill in the four values marked FILL IN: your SSH public key, the release tag Geometer gave you, your domain, and the pairing code. It makes a user builder who logs in with your SSH key and runs the install with no questions.
3. Make the server
Section titled “3. Make the server”- In the DigitalOcean control panel choose Create, then Droplets.
- Region: Bangalore. Image: Ubuntu 24.04 (LTS) x64. Size: Basic, 2 vCPU and 4 GB.
- Authentication: choose SSH Key and add yours (the line from
~/.ssh/id_ed25519.pub). - Above Finalize Details, open Additional Options, turn on Startup scripts and paste the filled-in cloud-init file into the box. DigitalOcean calls this user data; it cannot be changed after the Droplet is created, so check the four values first.
- Name it and choose Create Droplet.
The install runs by itself when the server first starts and takes about ten minutes. Log in as builder after that.
4. Open the ports
Section titled “4. Open the ports”Cloud Firewalls block everything that is not allowed. In Networking, then Firewalls, create a firewall with inbound rules for TCP 22 (SSH), TCP 80 and TCP 443, and apply it to the Droplet (by name or by a tag), ideally when you create it. Port 80 is needed for the certificate as well as for HTTPS on 443.
The address: The Droplet’s public IPv4 address is on its page in the control panel. It stays the same for the life of the Droplet.
5. Point your domain at the server
Section titled “5. Point your domain at the server”Create an A record for your domain (for example shops.example.com) with the server’s public address, at whoever holds your domain’s DNS. HTTPS gets its certificate by itself once the record points at the server; the install keeps trying until it does. Check it with ping shops.example.com or dig +short shops.example.com.
6. Check that it works
Section titled “6. Check that it works”- Log in to the server as
builder(cloud-init path) or your own user, and rungeometer status. It lists each shop (none yet), the Guards and the last backup. - Run
geometer invite builderand open the one-time sign-in link it prints. The panel opens athttps://<your domain>. - On geometer.dev/account the server appears under your servers once it is paired.
- Finish the panel’s first run: the model and its key, the backup bucket and its key, and Google if your shops use a calendar. Then add a shop.
If something is wrong: geometer server logs shows the server’s containers, and Deploy on your server has the rest. For a cloud-init install, the install’s own log is /var/log/cloud-init-output.log on the server.