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
curl -o docker-compose.yaml https://raw.githubusercontent.com/objectiv/objectiv-analytics/main/docker-compose.yaml
docker-compose up -d
This will spin up the following containers:
objectiv_websiteA 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
Creating BI Dashboards
To change the dashboards, or create new ones, take the following steps:
- 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.
- Generate the SQL for your DataFrame using:
- Open Metabase and in the top navigation, select "+ New" and then "SQL query".
- 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
- Instrument your app with the Objectiv Tracker.
- 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
Restarting the notebook container will reset (restore) the database, causing any generated data to be lost.
OBJECTIV_SKIP_IMPORT in your environment variables to
true to prevent this.
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.
Objectiv is 100% open-source, so you can also manually build & run your own custom Objectiv platform, or integrate it into an existing Snowplow pipeline.