Get Objectiv Up

Objectiv Up is a pre-packaged, dockerized version of Objectiv's powerful open-source analytics platform that can be self-hosted in under five minutes.

All the necessary infrastructure comes ready to go. Pre-built notebooks, models & dashboards are included for common product & marketing use cases, so you can get to work directly. A demo app instrumented with the Objectiv Tracker is also included for testing purposes.

Run Objectiv Up

1) Spin up the Docker containers

Assuming you have Docker and Curl installed, run the following commands:

curl -o docker-compose.yaml https://raw.githubusercontent.com/objectiv/objectiv-analytics/main/docker-compose.yaml
docker-compose pull
docker-compose up -d

This will spin up the following containers:

  • objectiv_website A demo app (the objectiv.io website), instrumented with the Tracker.
  • objectiv_collector: A backend Collector to validate & store event data from the Tracker.
  • objectiv_validator: Objectiv schema validation service used by the Collector.
  • objectiv_postgres: A PostgreSQL database, pre-filled with anonymized demo user data.
  • objectiv_notebook: A Jupyter notebook environment with pre-built product & marketing notebooks.
  • objectiv_metabase: Open-source BI-tool Metabase, with pre-built product & marketing dashboards.

2) Run the notebooks

Up includes pre-built notebooks for product & marketing analytics that you can run straight on the included demo data, at this URL: http://localhost:8888/lab/tree/product-analytics.ipynb?token=objectiv.

3) See the BI dashboards in Metabase

There are also two pre-built dashboards for product & marketing analytics, based on the included notebooks, which use Metabase as a BI solution. See them at http://localhost:3000.

Username:

demo@objectiv.io

Initial password:

metabase1

Creating BI Dashboards

To change the dashboards, or create new ones, take the following steps:

  1. Create a new DataFrame in your notebook that gives the desired results, or change any of the pre-built ones in the product & marketing analytics notebooks.
  2. Generate the SQL for your DataFrame using:
display_sql_as_markdown(NAME_OF_YOUR_DATAFRAME)
  1. Open Metabase and in the top navigation, select "+ New" and then "SQL query".
  2. Copy-paste the generated SQL from your notebook into Metabase, execute it, and choose a visualization for a dashboard view.

If you run anything other than Metabase, this will also work with the same flow for any SQL-speaking BI tool.

4) Generate events in the Demo app

To generate new event data, click around in the included demo app (the objectiv.io website): http://localhost:8080/.

When you trigger an event, you can see a request show up in the browser console (in the Network tab, filter on localhost) and in your Docker logs. As the included notebooks connect directly to the data store, they will show the new events if you rerun any of the cells.

5) Run in production

You can seamlessly switch from the included demo app to your own website/app. Because of the strictly structured data collection, the included notebooks and dashboards (and anything you custom built) will work directly on your own data without change.

Instrument your app

  1. Instrument your app with the Objectiv Tracker.
  2. Configure the Tracker to use the Collector by setting the endpoint to http://127.0.0.1:8081 (see this React example).

Swap out the demo for your own app

To get help in setting this up, we are happy to get you going on Slack.

One step to take is to clean up the demo data:

echo "TRUNCATE data" | docker exec -i objectiv_postgres psql -U objectiv
note

Restarting the notebook container will reset (restore) the database, causing any generated data to be lost.

Set OBJECTIV_SKIP_IMPORT in your environment variables to true to prevent this.

Get help

If you have any questions, please join us on Slack.

Run fully managed with Objectiv Cloud

Check out Objectiv Cloud - run Objectiv at scale without worrying about the Ops part.