Deploy on any Ubuntu server
This content is not available in your language yet.
Any host works if it gives you an Ubuntu 22.04 or 24.04 server (Intel or AMD, or ARM) that you can log in to over SSH with sudo, with a public address. Geometer charges for assurance, not hosting: the server and its bill are yours.
What you need
Section titled “What you need”- An Ubuntu 22.04 or 24.04 server with 2 vCPU and 4 GB of memory for about ten shops, and a few GB of free disk. Docker Engine and Node are installed for you if they are missing.
- A normal user with
sudo(not root). To make one as root:adduser builder && usermod -aG sudo builder, then log in asbuilder. - A domain with an
Arecord pointing at the server’s public address. - Ports 22, 80 and 443 open to the server in the host’s firewall and on the server (
sudo ufw statusshows whether Ubuntu’s own firewall is on; allow80/tcpand443/tcpif it is). Port 80 is needed for the certificate. - A pairing code from geometer.dev/account, Add a server. It works once and runs out after two hours.
- The release tag Geometer gave you.
Run the install
Section titled “Run the install”Log in over SSH as a normal user with sudo (not root), and run the two lines the account page shows after you choose Add a server (the second one already carries your pairing code), with the release tag Geometer gave you in place of <release tag>:
git clone --branch <release tag> https://github.com/GeometerLabs/agents.git ~/geometer/agentsbash ~/geometer/agents/install.sh --pairing-code-file <(printf '%s\n' '<your pairing code>')It asks for your domain, says what it will do and asks before it changes anything. It takes about ten minutes. (The account page’s lines already carry your pairing code, so it is not asked for again.)
Preview it first with bash ~/geometer/agents/install.sh --dry-run, which prints each step and changes nothing.
Or let cloud-init do it
Section titled “Or let cloud-init do it”If your host has a user data or cloud-init field, paste bundle/cloud-init.yaml there with its four FILL IN values filled. The per-host guides show where: DigitalOcean, Hetzner.
Check that it works
Section titled “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.