search close

Heroku Install

access_time Updated Jun 20, 2021

The Signal Sciences agent can be easily deployed with Heroku. The installation process is compatible with any of the language buildpacks.

The Signal Sciences agent is a small daemon process which provides the interface between your web server and our analysis platform. An inbound web request is passed to the agent, the agent then decides whether the requests should be permitted to continue or whether we should take action.

Installation

  1. Login heroku login.

  2. Add the Signal Sciences buildpack to your application settings:

     heroku buildpacks:add --index 1 https://dl.signalsciences.net/sigsci-heroku-buildpack/sigsci-heroku-buildpack_latest.tgz
    

    Note: The Signal Sciences buildpack must run first, or before your application’s primary buildpack.

  3. Update your Procfile file by inserting sigsci/bin/sigsci-start so it precedes your existing start command, e.g.

     web: sigsci/bin/sigsci-start <your application's start command>
    

    Example:

     web: sigsci/bin/sigsci-start node index.js
    
  4. Add the Signal Sciences agent keys to your application’s environment variables.

     heroku config:set SIGSCI_ACCESSKEYID=<access key goes here>
     heroku config:set SIGSCI_SECRETACCESSKEY=<secret key goes here>
    
    • The Agent Access Key and Agent Secret Key for your site are listed within the Signal Sciences console by going to Agents > View agent keys:

    • The Agent Access Key and Agent Secret Key will be visible within the modal window:

  5. Deploy your application, typically with the following commands:

     git add .
     git commit -m "my comment here"
     git push heroku master
    
  6. You will now see the agent listed in the Agents page of the Signal Sciences console.

Additional Configuration Options

Each time you deploy your application, Heroku will automatically assign a new random name for the agent. An agent name for each deployment can be specified by setting the SIGSCI_SERVER_HOSTNAME environment variable:

heroku config:set SIGSCI_SERVER_HOSTNAME=<agent name>

Agent access logging can be enabled by setting the SIGSCI_REVERSE_PROXY_ACCESSLOG environment variable:

heroku config:set SIGSCI_REVERSE_PROXY_ACCESSLOG /tmp/sigsci_access.log

By default the buildpack will install the latest version of the Signal Sciences agent. Which agent version to install can be specified by setting the SIGSCI_AGENT_VERSION environment variable:

heroku config:set SIGSCI_AGENT_VERSION=1.15.3

Additional configuration options are listed on the agent configuration page