Five easy ways to install AGILE (running the default stack)

From AGILE IoT Wiki
Revision as of 13:01, 14 April 2018 by Cskiraly (talk | contribs) (Docker and docker-compose based installation)
Jump to: navigation, search


Thanks to its dockerized design, AGILE prerequisites are very simple: docker, docker-compose, git

  • to run AGILE: docker version 1.10.0 (or later) and docker-compose version 1.10.0 (or later)
  • to build AGILE from source: docker version 17.05.0 (or later) and docker-compose version 1.10.0 (or later). Building on earlier versions of docker is also possible after disabling the 2-stage build process in dockerfiles.
  • In our examples git is also used. However, this can be circumvented with the direct download of the compose stack description file ( or compressed code archives.


AGILE supports different use cases, and correspondingly several installation methods:

  1. ResinOS based gateway with local management
  2. Raspbian based standalone gateway
  3. Docker and docker-compose based installation
  4. ResinOS based managed solution
  5. Building and installing from source

ResinOS based gateway with local management

Select this option if a robust OS is required, one of the supported GW platforms are used, but remote cloud based management is not needed. AGILE will be running on the gateway machine, but docker-compose will be run from a local management machine. The management machine can be any PC, it is only used to configure the GW at deployment, and later, if necessary, to update services.

npm i -g resin-cli
  • (optional) Configure the dowloaded SD image (only required if connecting to WiFi)

resin local configure resin.img
  • Burn image to microSD (we recommend
  • Clone agile-stack

git clone && cd agile-stack
  • Configure the stack by creating and editing the .env file
cp .env.example .env
  • After powering on the GW with the microSD card, Initialise AGILE

docker-compose up -d

Raspbian based standalone gateway

This installation method is only available for Raspberry Pi (1, 2, 3, 3+), this type of deployment is useful for those who are used to Raspbian, would like to run other services next to AGILE, and are not afraid of logging in to the gateway with SSH.

  • download a Raspbian based SD image from AGILE SD images.
  • Burn image to microSD (we recommend
  • Connect the Pi to your LAN (for WiFi, edit files directly on SD card to add credentials)
  • Power on the Pi
  • Connect to http://agilegw.local:8000
  • If you LAN does not support Bonjour (i.e. `ping agilegw.local` is not working), further steps are needed to access the GW: connect with SSH to your gateway, update the agile configuration with an accessible IP address or domain name of the gateway, and restart AGILE.

Docker and docker-compose based installation

Useful for any other platform not supported by the above methods (e.g. Linux based PCs, OS X), or when deploying AGILE code on an existing server. It is also useful for testing the AGILE stack without a dedicated gateway (i.e. on a laptop).

  • clone the AGILE Stack
git clone
  • Clone the AGILE CLI (Command Line Interface)
git clone
  • Set up the CLI
cd agile-cli
cp agile.config.examples/agile.config.localhost agile.config
  • (optional) customize the configuration, e.g. by setting the AGILE_ARCH to x86_64
  • (optional) install the AGILE CLI
sudo ./agile install
  • Start agile
./agile start

For more details, see the AGILE CLI Readme

ResinOS based managed solution

Useful for large scale deployments with fleet management services, or when cloud based management is required.

Building and installing from source

  • Clone agile-dev
  • Configure agile-dev for local build
  • build
docker compose build
  • Start the AGILE framework
docker-compose up -d