How to Use Metabase: A Beginner's Guide to Your First Dashboard
CodexFuse Team · 2026-10-31T15:30:55.538Z · 11 min read
Learn how to use Metabase: Docker install, your first question on the sample dataset, dashboards, filters, and sharing — a beginner tutorial.
How to Use Metabase: A Beginner's Guide to Your First Dashboard
Learning how to use Metabase is the fastest way to go from "my data lives in a database nobody looks at" to a shareable dashboard your team actually opens. Metabase is a free, open-source business-intelligence platform: you connect a database, ask questions in a point-and-click editor or in SQL, and turn the answers into charts and dashboards. This metabase tutorial takes you from a blank server to your metabase first dashboard — Docker install, the sample dataset, your first Notebook question, filters, and sharing — in one sitting. If containers are new to you, skim the Docker beginner guide first; the whole install below is one Docker command. One mental model to carry in: in Metabase, a question is a single query with a chart, and a dashboard is a collection of questions — everything else builds on that. (If you ever want to read a Metabase question without running it, our Metabase analyzer breaks down its tables, filters, and aggregations in plain language.)
What is Metabase, and what does it actually do?
Metabase is an open-source BI platform that sits on top of your database and lets anyone — not just analysts — explore data and build dashboards. The core unit is the question: pick a table, filter and summarize it, and get a chart. Saved questions become cards on dashboards, which you filter, share, and subscribe to. It is built for data dashboards — charts that answer "how many orders did we get this week?" — which is the line that separates it from metrics-monitoring tools.
How do I use Metabase for the first time?
The fastest path from zero to a working dashboard looks like this. Every step is explained in detail later in this guide.
- Run the official Docker image on your server with one command (it serves on port 3000).
- Open the setup page in your browser and create your admin account.
- Explore the built-in Sample Dataset — a fake Orders table made for practice.
- Ask your first question with the Notebook editor: filter and summarize the Orders table.
- Save the question, then create a dashboard from it.
- Add a second question as another card on the same dashboard.
- Add a dashboard filter so the whole page responds to one date picker — then share it.
How do I install Metabase with Docker?
You install Metabase with Docker. The official image is the fastest route to a working instance, and it is how this metabase docker setup stays easy to upgrade.
docker pull metabase/metabase:latest
docker run -d -p 3000:3000 --name metabase metabase/metabase
Metabase listens on port 3000 inside the container, so -p 3000:3000 exposes it on your server; open http://your-server:3000 and follow the "Let's get started" setup to create the admin account. Watch it boot with docker logs -f metabase, and check health any time with curl --fail -I http://localhost:3000/api/health.
Two production rules from the official Docker docs. First, the default application database is an embedded H2 file stored at /metabase.db/metabase.db.mv.db inside the container — fine for learning, but persist it with a volume (-v ~/metabase-data:/metabase-data -e "MB_DB_FILE=/metabase-data/metabase.db") or, for real use, point Metabase at PostgreSQL with MB_DB_TYPE=postgres plus MB_DB_HOST, MB_DB_PORT, MB_DB_DBNAME, MB_DB_USER, and MB_DB_PASS. Second, cap the JVM's memory with -e "JAVA_OPTS=-Xmx2g" so the Java process cannot eat the whole server (see the requirements section below). This deploy assumes a Linux server — if you are shopping for one, read what is VPS hosting first.
What are the system requirements for Metabase?
Metabase needs Java 11 or higher and follows one big memory rule: by default the JVM grabs roughly one quarter of the machine's RAM and never gives it back. The official guidance sets an explicit cap — -Xmx1g on a 2 GB machine, -Xmx2g on a 4 GB machine — always leaving 1–2 GB for everything else on the box. Skip this and an oversized result set can end the session with java.lang.OutOfMemoryError: Java heap space.
Metabase publishes no official minimum CPU or RAM spec, so treat the following as community guidance, not official numbers: one widely used deployment guide recommends 2 vCPUs and 4 GB of RAM, and another suggests 4 GB as a floor with 8 GB or more for larger datasets and 20 GB of disk.
How do I ask my first question in Metabase?
You ask metabase questions from the + New button: choose Question for the graphical query builder or SQL query for raw SQL. A question starts from a model, a table, or a saved question; the builder walks you through pick data, filter and summarize, then visualize. Under the hood every question is SQL — view it with the console icon, and convert a query-builder question to SQL any time (a one-way conversion; you cannot go back). This metabase notebook flow — pick data, filter, summarize, visualize — is the entire skill, and the Sample Dataset is where you build it.
Practice on the Sample Dataset: open Tables, then the Sample Database, then Orders — the fake store's order history. Try the classic beginner move: filter to orders with Subtotal over 40 and summarize as Count of rows. In the archived v0.37 getting-started guide, this exact exercise returned 16,309 orders. Save the question with the SAVE button (name it, put it in a collection), and Metabase will offer to create a new dashboard for it.
How do I build my first dashboard?
You build a dashboard from + New → Dashboard: give it a name, description, and collection, then add cards in edit mode with the + icon — a new question, a SQL question, or an existing saved question. A new install even ships an "E-commerce insights" example dashboard in the Examples collection, so you can see how a finished dashboard is laid out before you build yours.
Dashboards are organized into tabs, each a grid of cards: questions, text headings, iframes, and link cards. Cards drag and resize, the page width can be fixed or full, and each card keeps its own visualization settings. One rule to learn early: a question saved to another dashboard cannot be dropped into yours directly — save reusable questions to a collection instead.
How do dashboard filters work?
Dashboard filters are widgets — time, location, ID, or other categories — that you add in edit mode and then wire to specific cards. One date-range widget can drive every chart on the page, so your dashboard answers "this week" and "this quarter" without new queries. Filter widgets can also connect across dashboard tabs, making one control work page-wide.
How do Metabase subscriptions and alerts work?
Subscriptions and alerts are Metabase's two ways of pushing data to people instead of waiting for them to visit. A subscription lives on a dashboard: open the three-dot menu, choose Subscriptions, pick email or Slack, and choose hourly, daily, weekly, or monthly delivery, with an optional skip-if-no-results and CSV/XLSX attachments up to 2,000 rows. Recipients can be Metabase users or outside email addresses, but the admin must wire up email or Slack first — and filter customization on subscriptions is a Pro/Enterprise feature. An alert attaches to a single question and fires when its results meet a condition: new rows appear, a time series crosses a goal line, or a progress bar hits its target.
What database should I connect to Metabase first?
Connect the Sample Dataset first — it is already there, it cannot break anything, and it is how you learn questions before touching real data. When you are ready, add a real database from Admin → add a database: Metabase speaks PostgreSQL, MySQL, and many more. A handy beginner pattern is to explore a CSV with the DuckDB beginner guide first (query the file directly with SQL to understand its shape), then load it into PostgreSQL or MySQL and connect that to Metabase for the visual layer. The CrateDB integration guide documents exactly this arc: Docker run, then Admin → add database → ask question → dashboard.
Metabase vs Superset: which should I learn first?
Start with Metabase. Both are open-source BI, but they aim at different people: Metabase is built for non-analysts — its Notebook editor and one-click charts mean a beginner asks useful questions on day one. Superset is the developer-oriented sibling: more powerful and customizable, but it assumes comfort with SQL and data modeling from the start. The table below summarizes the trade-off as original analysis, not quoted specs.
| Metabase | Apache Superset | |
|---|---|---|
| Beginner experience | Point-and-click Notebook editor, gentle learning curve | Powerful but steeper; expects SQL and modeling comfort |
| SQL required? | No — the builder covers most beginner needs | Mostly yes for anything beyond basics |
| Dashboards | Cards on tabs, simple filters, subscriptions built in | Highly customizable layouts, deeper charting options |
| Best first for | metabase for beginners: first dashboard this afternoon | Developers embedding analytics into products |
Metabase vs Grafana: when is Metabase the wrong tool?
Metabase is the wrong tool when your "dashboard" is really a metrics wall — server CPU, request latency, uptime graphs streaming in real time. That is Grafana's world: dashboards for metrics, fed by time-series stores. Metabase is dashboards for data: rows in a database you filter, group, and summarize. Many teams run both; if you are not sure which world your question lives in, read the Grafana beginner guide and compare.
7 mistakes beginners make with Metabase
Learn these once and skip a week of forum searching.
| Mistake | Why it hurts | Do this instead |
|---|---|---|
| Running production on the embedded H2 app database | The default H2 file is fragile and hard to back up properly | Move to PostgreSQL with MB_DB_TYPE=postgres before real users arrive |
| Never setting JAVA_OPTS | The JVM takes ~1/4 of RAM by default and can starve the server | Set an explicit cap, e.g. -e "JAVA_OPTS=-Xmx2g" |
| Converting a Notebook question to SQL and expecting to go back | The conversion is one-way | Duplicate the question before converting so the builder version survives |
| Saving questions inside another dashboard and trying to reuse them | Cards saved to a dashboard cannot be dropped into a different one | Save reusable questions to a collection instead |
| Building dashboards without filters | Every time range needs a new question | Add one date filter widget and wire it to all cards |
| Setting up subscriptions before email or Slack is configured | Subscriptions fail silently with nowhere to send | Configure the email or Slack channel in Admin first |
| Practicing on production data | A bad filter can expose or hammer live tables | Use the Sample Dataset until questions feel natural |
Can I embed Metabase dashboards in my own app?
Embedding is the natural next step after your first dashboard works — and it is where the search term metabase embedding comes in. Once a dashboard answers a real business question, the next ask is always "can this live inside our app?" Treat embedding as an advanced step: verify the current embedding options against the latest Metabase docs before building on them, since this area changes between versions.
Where do I go after my first dashboard?
After your first dashboard, the learning order is: connect your real database, rebuild your most-asked spreadsheet as a dashboard, add filters plus a weekly subscription, and then learn the admin side — permissions, collections, and backups of the app database. This metabase for beginners path is also the core of every metabase tutorial on the web: the metabase install details change, but the question → dashboard → filter → share arc does not.
Sources
- GitHub — metabase/metabase releases (latest stable v0.65.2, published 2026-10-30)
- Metabase docs — Running Metabase on Docker, current docs (Docker run command, port 3000, MB_DB_* variables, embedded H2 path, health check)
- Metabase docs — Running Metabase, troubleshooting guide (Java 11+, JVM uses ~1/4 of RAM, -Xmx sizing table, JAVA_OPTS)
- Metabase docs — Getting Started, archived v0.37 (Sample Dataset, Orders example returning 16,309 rows)
- Metabase docs — Asking questions / query builder (question vs SQL, model/table/saved-question start, SQL view, one-way conversion)
- Metabase docs — Dashboards introduction, current (tabs, cards, "E-commerce insights" example, edit mode, reuse rule)
- Metabase docs — Dashboard subscriptions (email/Slack, hourly/daily/weekly/monthly, 2,000-row attachments, Pro filter customization)
- CrateDB docs — Visualize data with Metabase, usage guide (Docker run → Admin → add database → question → dashboard)
- Vultr and Markaicode deployment guides, third-party (2 vCPU / 4 GB RAM and 4 GB floor sizing guidance)
Frequently asked questions
Is Metabase free to use?
Yes. Metabase's open-source edition is free to self-host — the official Docker image runs on your own server with no license fee, and everything in this guide uses it.
Do I need to know SQL to use Metabase?
No. Beginners ask questions with the point-and-click Notebook editor: pick a table, filter, summarize, visualize. SQL is there when you want it (choose "SQL query" instead of "Question"), and you can peek at the SQL any question generates.
What version of Java does Metabase need?
Java 11 or higher. If you run the Docker image, Java is bundled — you only think about Java versions when installing from the JAR.
How much RAM does Metabase need?
There is no official minimum. The JVM defaults to about a quarter of the machine's RAM, and the official guidance caps it explicitly (1 GB heap on a 2 GB machine, 2 GB on a 4 GB machine). Community deployment guides commonly land on 2 vCPUs and 4 GB of RAM as a comfortable starting point.
Should I use Metabase or Grafana?
Use Metabase for data dashboards — questions over database tables. Use Grafana for metrics dashboards — time-series monitoring like CPU, latency, and uptime. They solve different problems, and many teams run both.