Guides

How to Set Up Metabase for Business Analytics

Arkzero ResearchApr 6, 20266 min read

Last updated Apr 6, 2026

Metabase is a free, open-source business intelligence tool that lets non-technical teams query databases and build dashboards without writing SQL. It installs in under 30 minutes via Docker, a JAR file, or Metabase Cloud. Once connected to a database, teams can build charts, share dashboards, and filter data with a point-and-click interface. Version 0.59 supports over 20 databases including PostgreSQL, MySQL, BigQuery, Snowflake, and Redshift.
Screenshot of Metabase dashboard setup for business analytics

Metabase is a free, open-source business intelligence tool that lets non-technical teams query databases and build dashboards without writing SQL. It installs in under 30 minutes via Docker, a JAR file, or Metabase Cloud. Once connected to a database, teams can build charts, share dashboards, and filter data with a point-and-click interface. Version 0.59 supports over 20 databases including PostgreSQL, MySQL, BigQuery, Snowflake, and Redshift.

Why Teams Choose Metabase

Over 50,000 organizations use Metabase's open-source Community Edition. Its core advantage for non-technical teams is the Question builder: instead of writing SQL, you select a table, apply filters, and choose how to group and visualize results. The interface prompts you at each step, so no prior analytics experience is required.

The free Community Edition covers most small-to-mid team needs. The paid Pro plan adds row-level permissions, signed embedding for external dashboards, and audit logs. Pro pricing starts at $500 per month for up to 5 users.

Three Ways to Install Metabase

Option 1: Metabase Cloud

Metabase Cloud is the fastest path. Create an account at metabase.com, and Metabase handles hosting, upgrades, and backups. A 14-day trial includes full Pro features, after which you can stay on a paid plan or downgrade to the free Community tier.

This option is best if you do not have a server or want to avoid infrastructure work entirely.

Option 2: Docker (Recommended for Self-Hosting)

Docker is the most common self-hosted method. It requires Docker installed on your server or local machine.

Run this command:

docker run -d -p 3000:3000 --name metabase metabase/metabase

Metabase starts on port 3000. Open http://localhost:3000 in your browser to begin setup. The first launch pulls the image and initializes an internal H2 database for Metabase's own application data.

For production deployments, replace the H2 database with PostgreSQL so your saved questions and dashboards survive container restarts:

docker run -d -p 3000:3000 \
  -e "MB_DB_TYPE=postgres" \
  -e "MB_DB_DBNAME=metabasedb" \
  -e "MB_DB_PORT=5432" \
  -e "MB_DB_USER=metabase" \
  -e "MB_DB_PASS=yourpassword" \
  -e "MB_DB_HOST=your-postgres-host" \
  --name metabase metabase/metabase

Option 3: JAR File

If you have Java 11 or later installed, download the JAR from metabase.com and run:

java -jar metabase.jar

This starts Metabase on port 3000. The setup process is identical from there.

Running the Setup Wizard

When you open Metabase for the first time, a five-step wizard runs:

  1. Create an admin account with your name, email, and password
  2. Select your use case (self-service analytics is the default)
  3. Add your database connection or skip to explore the included sample database
  4. Activate your license key if you are on Pro
  5. Optionally share anonymous usage data with Metabase

The sample database contains retail transaction data. It is useful for testing queries and building dashboards before connecting real data.

Connecting Your Database

Click the gear icon > Admin panel > Databases > Add database.

Select your database type. Metabase v0.59 supports Athena, BigQuery, ClickHouse, Databricks, MariaDB, MongoDB, MySQL, Oracle, PostgreSQL, Redshift, Snowflake, SQL Server, SQLite, and others.

For PostgreSQL, you need:

  • Host (e.g. db.yourcompany.com)
  • Port (default 5432)
  • Database name
  • Username and password

Metabase tests the connection before saving. If the test fails, check two things first: whether the database's firewall allows connections from the Metabase server IP, and whether the hostname is correct. Cloud databases like RDS and Supabase require whitelisting the Metabase IP in their network settings.

After saving, Metabase scans the database schema. This takes one to five minutes depending on table count. Once the scan completes, all tables appear in the question builder.

Building Your First Question

In Metabase, a "question" is a saved query. To create one:

  1. Click New > Question
  2. Select your database and table
  3. Apply filters (date range, status values, or any column)
  4. Choose a summary metric such as count, sum, or average, and group by a column (for example, by week)
  5. Select a visualization type: bar chart, line chart, single number, table, or others
  6. Save the question with a name

No SQL required. A native query editor is available for users who prefer it.

A common first question for an ops team is counting orders by week filtered to the last 90 days. This takes about two minutes to build.

Building a Dashboard

Dashboards display multiple questions in a single view.

  1. Click New > Dashboard and give it a name
  2. Add saved questions by clicking the Add a question button
  3. Drag and resize cards to arrange the layout
  4. Add dashboard filters so viewers can change date ranges or other parameters across all cards at once

Dashboards can be shared via a public link or embedded in Notion, Confluence, or other internal tools using an iframe. Pro plans support signed embedding for external-facing dashboards.

Setting User Permissions

Metabase uses a group-based permission system. Groups can be granted or denied access to specific databases, schemas, or individual tables. Row-level permissions, which restrict users to seeing only data relevant to them, require the Pro plan.

The default configuration has one admin group and a general "All Users" group. Add new users through Settings > People and assign them to groups from there.

Troubleshooting Common Issues

Slow startup or slow queries: The default H2 application database degrades under concurrent use. Migrate to PostgreSQL using the environment variables shown in the Docker section. This is the single most impactful change for production deployments.

Database connection fails: Verify that the database's firewall allows inbound connections from the Metabase host IP. For cloud-hosted databases, add the IP to the allowed list in the database's network settings.

Charts return no data: Check that filter values match actual data in the table. A date filter set to "last 30 days" returns nothing if all rows are older than 30 days.

Schema not loading: Trigger a manual sync from Admin > Databases > select your database > Sync database schema now.

When a Lighter Tool Works Better

Metabase requires a running database to query. If your data lives in CSV exports or spreadsheets, setting up a full database for a one-time analysis adds significant overhead. For ad-hoc analysis on file uploads, tools like VSLZ let you upload a CSV and run queries in plain English without any database or infrastructure setup.

Next Steps

Once your first dashboard is live, explore:

  • Pulses and subscriptions to send dashboard snapshots to Slack or email on a schedule
  • Models, which create reusable curated views of your data that simplify question building for non-technical users
  • SQL snippets for query patterns you reuse across questions
  • Metabase's embedding SDK for building analytics into customer-facing products

FAQ

Is Metabase free to use?

Yes. The Community Edition is free and open-source with no user or dashboard limits. The Pro plan starts at $500 per month for up to 5 users and adds row-level permissions, signed embedding, and audit logs. Metabase Cloud offers a 14-day free trial of Pro features.

How do I install Metabase with Docker?

Run `docker run -d -p 3000:3000 --name metabase metabase/metabase` and open http://localhost:3000. For production, add environment variables to configure a PostgreSQL application database using MB_DB_TYPE, MB_DB_HOST, MB_DB_DBNAME, MB_DB_USER, and MB_DB_PASS. The default H2 database is not suitable for production use.

What databases does Metabase support?

Metabase v0.59 supports over 20 databases including PostgreSQL, MySQL, MongoDB, BigQuery, Snowflake, Amazon Redshift, SQL Server, SQLite, ClickHouse, Databricks, Oracle, MariaDB, and others. Community-built drivers extend support further.

Do I need to know SQL to use Metabase?

No. Metabase's Question builder lets you select tables, apply filters, and choose metrics with clicks rather than code. A native SQL editor is available for advanced users who prefer to write queries directly. Both paths produce the same visualizations.

Why is my Metabase instance running slowly?

The most common cause is the default H2 application database, which is not designed for production workloads. Switch to PostgreSQL by setting the MB_DB_TYPE, MB_DB_HOST, MB_DB_DBNAME, MB_DB_USER, and MB_DB_PASS environment variables when starting Metabase. This change alone typically resolves slowness under concurrent use.

Related

Python code editor displaying a Polars DataFrame analytics workflow
Guides

How to Get Started with Polars for Data Analysis

Polars is a Python DataFrame library built on a Rust engine with lazy evaluation and multi-core execution. Install it with pip install polars, read CSV or Parquet files with pl.read_csv() or pl.scan_csv(), and chain filter, group-by, and aggregation expressions to analyze data. On a 1 GB CSV file with 10 million rows, Polars loads data in 1.6 seconds and uses roughly 87 percent less memory than pandas on the same task.

Arkzero Research · Jun 4, 2026
How to Use Julius AI for Data Analysis - hero image
Guides

How to Use Julius AI for Data Analysis

Julius AI is a conversational data analysis platform that lets you upload a spreadsheet or CSV, ask questions in plain English, and receive charts, summaries, and statistical outputs in seconds with no SQL or code required. It runs Python in the background, handles messy real-world files automatically, and maintains session context so you can refine results conversationally. Free accounts are capped at 15 messages per month; real analysis work requires Plus at $35 per month or higher.

Arkzero Research · May 28, 2026
OpenMetadata data catalog interface showing database schema discovery
Guides

How to Set Up OpenMetadata for Data Discovery

OpenMetadata is an open-source data catalog that gives teams a single place to discover, document, and govern their data assets. Setting it up takes under 30 minutes using Docker: spin up the containers, log into the UI at localhost:8585, then connect your first data source using one of 90+ pre-built connectors. Once ingestion runs, every table, column, and owner is searchable and lineage-linked across your entire stack.

Arkzero Research · Apr 29, 2026