Installing and Setting Up RudderStack

Detailed documentation on installing and setting up RudderStack

This guide is aimed at helping you install and set up RudderStack correctly on a variety of platforms. Please feel free to reach out to us in case you are stuck anywhere, or you want more information on any of the topics covered below.

Setup Instructions for a Hosted Demo Account

  • Go to the dashboard https://app.rudderlabs.com and set up your account.

  • Select RudderStack Hosted Service from the top right corner after you login.

RudderStack Dashboard
  • You should see a confirmation message like the following image, asking you to replace the data plane URL in your client SDKs. Click on OK if you agree.

Managed hosting - Confirmation Page

Follow the How to Send Test Events section below for instructions on how to send test events.

Setup Instructions for Docker

The Docker setup is the easiest and the fastest way to try out RudderStack.

  • Go to the dashboard https://app.rudderlabs.com and set up your account

  • Copy your workspace token from top of the home page

  • Replace in build/docker.env with the above token

  • Uncomment and set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY in build/docker.env

This is an optional step if you want to add S3 as a destination on the UI.

  • Run git submodule init and git submodule update to fetch the rudder-transformer repository

  • Run the command docker-compose up --build to bring up all the services

Here is a demonstration of how you can set up RudderStack on Docker, and set up a connection between your source and destination:

RudderStack Setup for Docker

Follow the How to Send Test Events section below for instructions on how to send test events.

Setup Instructions for Kubernetes

Please follow our guide on RudderStack deployment on a Kubernetes cluster using Helm chart. Alternatively, you can also check out our GitHub repository.

Setup Instructions for Terraform

Please follow our guide on RudderStack deployment on AWS using Terraform. Alternatively, you can also check out our GitHub repository.

Setup Instructions for a Native Installation

This is not the easiest way of installing RudderStack. Please use this setup only if you want to know more about the internals of RudderStack.

  • Install Golang 1.12 or above

  • Install NodeJS 10.6 or above

  • Install PostgreSQL 10 or above and set up the DB using the following lines of code:

createdb jobsdb
createuser --superuser rudder
psql "jobsdb" -c "alter user rudder with encrypted password 'rudder'";
psql "jobsdb" -c "grant all privileges on database jobsdb to rudder";
  • Go to the dashboard and set up your account

  • Copy your workspace token from top of the home page

  • Run git submodule init and git submodule update to fetch the rudder-transformer repository

  • Navigate to the transformer directory cd rudder-transformer

  • Start the destination transformer node destTransformer.js

  • Navigate back to main directory cd rudder-server

  • Copy the sample.env to the main directory cp config/sample.env .env

  • Update the CONFIG_BACKEND_TOKEN environment variable with the token fetched above

  • Run the backend server go run -mod=vendor main.go

Follow the How to Send Test Events section below for instructions on how to send test events.

How to Send Test Events

  • If you already have a Google Analytics account, keep the tracking ID handy. If not, please create one and get the tracking ID. The Google Analytics account needs to have a WebProperty (Web+App doesn't seem to work)

  • Create one source (Android or iOS) and configure a Google Analytics destination for the same with the above tracking ID

  • We have bundled a shell script that can generate test events. Get the source writeKey from our app dashboard and then run the following command.

Run ./scripts/generate-event <writeKeyHere> http://localhost:8080/v1/batch
Sending Test Events

writeKey is different from the your_workspace_token. The former is associated with the source, while the latter is for your account.

  • You can then login to your Google Analytics account and verify that events are delivered. Go to MainPage - RealTime - Events. RealTime view is important as the other dashboards can sometimes take 24 to 48 hours to refresh.

  • You can use our JavaScript, Android or iOS SDKs for sending events from your app.