LogoLogo
OverviewDemos and ResourcesContact
  • What is Engine?
  • Key Concepts
    • Drivers
    • Modules
    • Systems
    • Zones
    • Settings
    • Interfaces
    • Triggers
  • Security
  • Deployment
    • System Architecture
    • Single Sign-On
      • Configuring Engine for SAML2
      • SAML2 with Azure AD
      • SAML2 with ADFS
      • SAML2 with Auth0
      • SAML2 with GSuite
      • OAuth2
  • Integrations
    • Supported Integrations
    • Directory Services
      • Microsoft Office365
    • IoT
      • Device Drivers
      • Node-RED
      • Azure IOT Hub
    • Location Services
      • Locating Users on a Network
      • SVG Map Creation
      • Cisco CMX
      • Cisco Meraki RTLS
      • Desk Sensors
  • Administration
    • Backoffice
      • Systems
      • Devices
      • Drivers
      • Zones
      • Triggers
      • Metrics
      • Users
      • Domains
        • Applications
  • Developer Guide
    • Development Environment
    • Building Drivers
      • Discovery and Metadata
      • State
      • Scheduling Actions
      • Response Tokenisation
      • Device Drivers
      • SSH Drivers
      • Service Drivers
      • Logic Drivers
      • Testing
      • Live Monitoring
      • Logging
      • Security
      • Utilities and Helpers
    • User Interfaces
      • Composer
      • Virtual Systems
      • Widgets
      • Settings.json
  • API
    • Authentication
    • Control
      • Systems
      • Modules
      • Dependencies
      • Zones
      • Websocket
        • Commands
          • bind
          • unbind
          • exec
          • debug
          • ignore
        • Heartbeat
        • Errors
  • Support
    • Service Desk
Powered by GitBook
On this page
  • Required Tooling
  • Building Your Environment
  • Starting Up
  • Shutting Down
  • Starting Over

Was this helpful?

  1. Developer Guide

Development Environment

PreviousApplicationsNextBuilding Drivers

Last updated 5 years ago

Was this helpful?

Engine is distributed as a set of docker containers that are designed to deploy to your on-prem infrastructure or private cloud. To keep things simple for development, testing, and experimentation this is also packaged as a prebuilt environment that you can run on your local machine.

This environment runs across MacOS, Windows, or Linux - feel free to pick where you work best.

Required Tooling

In order to run this environment you will need two common tools:

Outside of these, nothing will need to be installed or modified on your machine.

Setup these now, then drop back - we’ve prepared some music to play while you do this...

Welcome back.

Building Your Environment

Now that you have the required tools, choose a directory where you'd like to work, then run

vagrant init acaengine/dev-env

Older versions of the development environment used the vagrant-triggers plugin. This is no longer needed, or compatible with modern versions of Vagrant. If you see a warning about this, run:vagrant plugin uninstall vagrant-triggersbefore continuing.

Starting Up

Open a terminal window in the same directory as your vagrant file and run:

vagrant up

You will see some updates while your environment boots up. This may take a couple of minutes the first time it runs. When it’s complete you will be provided with a URL and authentication details to log in.

Congratulations you’re ready to go!

Vagrant commands need to run within the folder containing the environment configuration (i.e. where your Vagrantfile is).

If you get an error that says: A Vagrant environment or target machine is required to run this command check that you’re in the right place.

Shutting Down

When you’re done working with Engine use

vagrant halt

to shutdown your environment.

You can continue to use these two commands to start and stop your local Engine instance as you need.

Starting Over

Changes that you make, such as adding or removing devices, systems, or zones will persist across restarts. To return to a fresh deployment run

vagrant destroy

The next time you run vagrant up you'll be presented with a fresh deploy.

This will create a that contains your environment config.

If you are planning on diving into , you can also fork and clone the , which contains a pre-initialised Vagrantfile ready for use.

Vagrantfile
driver development
open-source drivers repo
Vagrant
VirtualBox