ODE Server Setup

Open Data Ensemble

Your own Synkronus server in about 10 minutes

Synkronus is the server your phones sync with. It keeps your forms, your app and all collected data in one safe place that you control. You don't need to be a developer: you copy, you paste, and it sets itself up.

Built your app in the ODE App Builder? This is where it goes next.

What you need

A small rented serverUbuntu 24.04, 1 GB memory. About $6 a month at DigitalOcean, Hetzner, Vultr or any provider.
10 minutesMost of it is waiting while the server downloads the software.
Optional: a domainLike data.yourorg.org. Without one you get a free address that works right away.

Choose how you want to set it up

All three give you the same server. Pick the one that feels easiest.

  1. Rent a server

    At your provider, create a server (DigitalOcean calls it a Droplet). Choose Ubuntu 24.04 and the size with 1 GB memory. Pick a region close to where your team works.

  2. Open its console

    When the server is ready, click Console (DigitalOcean: Access → Launch Droplet Console). A black window with text opens. That's all you need.

  3. Paste this line and press Enter

    In a browser console, paste with Ctrl+Shift+V or right-click → Paste.

  4. Wait about 5 minutes

    You'll see it check the server, install everything and get the HTTPS certificate. When it's done, a green box shows your address, admin username and password. Copy them somewhere safe.

  5. Open your address and log in

    You're in the Synkronus Portal. Continue with After setup.

Using your own domain? First, at your domain provider, create an A record for it pointing to the server's IP address. The installer checks this and tells you if it isn't right yet.

After setup

  1. Create a user for your phones

    In the Portal, open Users → Create user and give it Read/Write access. Use this login on phones, and keep the admin login for yourself.

  2. Upload your app

    Make your app in the ODE App Builder, download the bundle, and upload it in the Portal under App bundle.

  3. Connect phones

    In the Formulus app, enter your server address and the phone user's login, then sync.

Looking after your server

Open the server console and type any of these:

Type thisWhat it does
synkronus statusIs it running? Shows the address, version, last backup and free space
synkronus credentialsShows the address and admin login again
synkronus backupBacks up all data now (it also happens every night at 02:00, kept 7 days)
synkronus restore FILEPuts back a backup from /opt/synkronus/backups
synkronus updateBacks up, updates to the newest version, and goes back if anything fails
synkronus reset-admin-passwordSets a new admin password and shows it
synkronus logsShows recent messages, useful when asking for help

Backups are kept on the same server. Once a month, download one with your provider's file tools or scp, so you still have your data if the server is ever deleted.

If something goes wrong

“Port 80 is already used by another program”

Another web server is running. On a fresh server this shouldn't happen. If you want to replace it, run systemctl disable --now nginx apache2 and paste the install line again.

“HTTPS is not ready yet” or a certificate warning in the browser

Your provider's firewall may be blocking the server. Allow incoming ports 80 and 443 (DigitalOcean: Networking → Firewalls). If you use a domain, check that its A record points to the server's IP. HTTPS starts working by itself a few minutes after that.

“This server has less than 1 GB of memory”

Resize the server to at least 1 GB at your provider, then paste the install line again.

I lost the admin password

Type synkronus credentials in the server console. If you changed it in the Portal and forgot it, type synkronus reset-admin-password.

Can I run the install line again?

Yes. On a server that's already set up it changes nothing and shows the status. If an earlier attempt stopped halfway, it continues where it left off.

Docker or Podman?

The installer uses Podman, a fully open-source container engine, and installs it for you. If Docker is already on the server, it uses Docker instead. You never need to use either directly.

What the install line runs

The installer is open source and lives in the official synkronus-quickstart repository. You can read it here before running it. It installs everything into /opt/synkronus and adds the synkronus command. Your passwords are created on your server and never leave it.