Open-Source Business Intelligence with Metabase

Open-source business intelligence platforms offer users access to data-driven insights without expensive overheads that typically come with proprietary solutions. They are designed to be used by developers, analysts, and business users alike, and help them make sense of their data as well as smarter decisions about their operations. Let's explore one such platform today, Metabase.

What is Metabase?

Metabase is an open-source business intelligence platform with a friendly user experience that lets you explore data on your own. It connects to 20+ popular data sources and queries data immediately, without extracts. The visual query builder helps all users, including those not particularly savvy with SQL, to join tables, visualise data and generate valuable insights. It also offers important security features like single sign-on, granular access control via group-based permissions, row-level data sandboxing, audit logs and more.

Source: metabase.com

What is Railway?

Railway is a modern app hosting platform that makes it easy to deploy production-ready apps quickly. Railway offers persistent database services for PostgreSQL, MySQL, MongoDB, and Redis, as well as application services with a GitHub repository as the deployment source. For the latter, Railway can automatically determine the application runtime and deploy the service. Railway offers several one-click starters for popular applications, including Metabase. Since we are just testing the waters, Railway's free tier should be sufficient to host the service.

Source: Railway.app

Deploy Metabase using One-Click Starter on Railway

Sign up for an account with Railway using GitHub, and click Authorize Railway App when redirected. Review and agree to Railway's Terms of Service and Fair Use Policy if prompted. Launch the Metabase one-click starter template (or click the button below) to deploy a Metabase instance instantly on Railway.

You'll be prompted with an opportunity to change the default repository name and set it private, if you'd like. Accept the defaults and click Deploy; the deployment will kick off immediately.

Deploy Metabase using the one-click starter template

Once the deployment completes, Metabase will be available at a default xxx.up.railway.app domain - click on this URL to access your instance. If you are interested in setting up a custom domain, I covered it at length in a previous post - see the final section here.

Metabase instance deployed on Railway

Getting Started with Metabase

Next, complete the initial configuration steps to set up your Metabase instance. Select your preferred language, say English, provide basic user information, select the data source, describe your data usage preference, and click Finish. Metabase offers a decent set of data sources, including popular cloud-based services like Amazon Redshift, Google BigQuery, Snowflake and others. You can also click I'll add my data later to play around with the sample database for now.

Metabase data sources

Once you complete the initial steps, you'll be taken to the Metabase dashboard, which will be pre-populated with data from a sample database. Play around with the different "x-rays" to explore the different analytics capabilities.

Metabase dashboard

Click on + New to create a new question, SQL query, dashboard, collection or model based on your data. Or click on the gear symbol (Settings > Admin settings) at the top-right corner to configure additional data sources and get the best out of Metabase.

Metabase admin settings

Here's a quick video demo showing how to build your own dashboards. If you're keen to learn more, head over to their documentation.

Metabase demo video