Contents Menu Expand Light mode Dark mode Auto light/dark mode
Looking to save time? Try ODK Cloud, the official managed hosting service from the creators of ODK.
ODK Docs
Logo
  • Getting Started With ODK

Collect

  • ODK Collect
  • Setting Up ODK Collect
    • Installing Collect
    • Connecting to a Server
      • Transferring blank and completed forms directly with adb
      • Using ODK Briefcase
    • Configuring Collect
  • Using ODK Collect
    • Managing Projects in Collect
    • Managing Forms in Collect
    • Filling out Forms with Collect
    • Using Collect Settings
    • Settings QR codes
    • Viewing filled forms on a map
    • Using Offline Maps
  • Tips and Best Practices
    • Using Android Debug Bridge with Collect
    • Creating Shortcuts to Collect Forms
    • Improving Location Performance
    • Android security recommendations
    • Mirroring Collect onto your desktop

Central

  • ODK Central
  • Installing ODK Central
    • Getting ODK Cloud
    • Installing Central on DigitalOcean
    • Advanced Configuration Options
  • Managing ODK Central
    • Upgrading Central
    • Usage Reporting in Central
    • Backing Up Central
    • Central Command Line Tools
  • Using ODK Central
    • Managing Users in Central
    • Managing Projects in Central
    • Managing Forms in Central
    • Managing Submissions in Central
    • Managing Entities in Central
    • Encrypted Forms in Central
    • Server Audit Logs in Central
    • Using the Central REST API
    • Using Briefcase with Central
  • Troubleshooting Central

Form Building

  • Intro to Forms in ODK
  • XLSForm
  • Question Types
  • Form Logic
  • Form Operators and Functions
  • Form Datasets
  • Form Styling
  • Form Language
  • Form Audit Log
  • Launching External Apps
  • Data Collector Workflows
  • Tips and Best Practices
    • Repeat Recipes and Tips
    • Using regular expressions
  • ODK Build

Training

  • Training Resources

Contributing

  • Contributing to ODK Docs
    • Docs Contributor Technical Guide
    • Docs Markup and Syntax Guide
    • Docs Style Guide
    • Docs Developer Guide
    • Tips for Making Good Contributions
    • Working with Docs in Windows using Cygwin

Developing with ODK

  • OpenRosa
    • Metadata Scheme
    • HTTP Requests and Responses
    • Authentication API
    • Form Submission API
    • Form List API
  • ODK JavaRosa
  • Using ODK Collect from External Apps

Integration

  • Encrypted Forms

Reference

  • Security and Privacy
  • Glossary
Back to top

Installing on DigitalOcean (recommended)#

Warning

ODK Aggregate is no longer being updated. Please use ODK Central instead.

Warning

To use this setup, you must able to link a domain name to the machine's IP address. If you don’t own a domain, services such as FreeDNS offer free sub-domains under a range of domains.

Tip

If you have not already created a DigitalOcean account, use our referral link to do so: https://m.do.co/c/39937689124c.

DigitalOcean will give you $100 of credit to spend during the first 60 days so that you can try things out. Once you have spent $25 with them, we’ll get $25 to put towards our hosting costs.

Create your Droplet#

  1. Log into DigitalOcean and create a new Droplet.

  2. Select the distribution for your new Droplet: Select the option 18.04.x x64 from the Ubuntu box.

    Selecting the Droplet's distribution
  3. Select a size fit for your intended usage. The $5 Standard Droplet should be enough for light Aggregate use. If you find yourself needing more, DigitalOcean makes it easy to resize to a bigger Droplet.

  4. If you would like automatic weekly backups, enable them.

  5. You will not need block storage.

  6. Select a datacenter region physically close to where data collection is going to happen.

  7. Under Select additional options, check the User data checkbox. Copy and paste the contents of this Cloud-Config script.

    Inserting Cloud-Config script under User Data section
  8. In the Choose a hostname section, enter the domain name (e.g., your.domain). This hostname will be used by the Cloud-Config script to configure your server’s HTTPS support.

  9. You will not need to add public SSH keys (unless you know what that is and you want to).

  10. Click on the Create button. The Droplet takes a few seconds, the actual Aggregate installation will take up to 10 minutes to complete.

Set up your domain#

Tip

DigitalOcean Droplets use IP addresses which can change if you destroy the machine. To ensure your Aggregate install will always be reachable using the same IP address, use a Floating IP by following these instructions.

  1. Once the Droplet is running, take note of its public IP address (e.g., 12.34.56.78) and set a DNS A record pointing to it.

    If you own a domain, check your domain registrar's instructions. If you don't own a domain, we recommend using FreeDNS to get a free sub-domain.

    Your domain's TTL setting will affect to how much time you will have to wait until you can proceed to the next step. If your provider gives you the option of setting a TTL, use the lowest value you can.

  2. Open a web browser, and periodically check the domain until you see the Aggregate website. You won't be able to continue the install until you see the website load.

Enable HTTPS#

  1. From the DigitalOcean Control Panel, click the name of your droplet, then select Access from the left navigation. Click the Launch Console button to open a web-based console session.

  2. When the console opens, click the console screen, and at the login prompt, enter the user: root. Your password will be the root password that DigitalOcean emailed you.

    If you do not have the root password, click the name of your droplet, select Access from the left navigation and choose Reset the root password so that a password gets emailed to you.

    You may also login over SSH using the ssh root@your.domain.

  3. Once you are logged in, run sudo certbot run --nginx --non-interactive --agree-tos -m YOUR_EMAIL --redirect -d YOUR_DOMAIN.

    Be sure to replace YOUR_EMAIL and YOUR_DOMAIN with your email address and your domain.

    Lets Encrypt uses the email you provide to send notifications about expiration of certificates.

Log into Aggregate#

  1. Go to https://your.domain and check that Aggregate is running.

  2. Click Sign in with Aggregate password to login with the default username and password.

    username: administrator
    password: aggregate
  3. Change the administrator account's password!

Copyright © 2023 Get ODK Inc. Licensed under CC BY 4.0.
Made with Sphinx and @pradyunsg's Furo
On this page
  • Installing on DigitalOcean (recommended)
    • Create your Droplet
    • Set up your domain
    • Enable HTTPS
    • Log into Aggregate