---
title: "Deploy Metabase for Snowflake"
description: "Dashboards and SQL questions on your Snowflake warehouse"
category: "Analytics"
url: https://railway.com/deploy/deploy-metabase-for-snowflake
---

# Deploy Metabase for Snowflake

Dashboards and SQL questions on your Snowflake warehouse

**[Deploy Metabase for Snowflake on Railway](https://railway.com/template/deploy-metabase-for-snowflake)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/deploy-metabase-for-snowflake/manifest.json

- **Creator:** onepush
- **Category:** Analytics

## Template content

### metabase/metabase

- **Image:** metabase/metabase
- **Public domain:** Yes

### Postgres https://devicons.railway.app/i/postgresql.svg

- **Image:** ghcr.io/railwayapp-templates/postgres-ssl:18

## Documentation

# Deploy and Host self hosted Metabase Snowflake (Open-Source BI for Snowflake) on Railway

Your Snowflake warehouse holds the data, but someone still has to turn it into dashboards people trust.

## About Hosting Metabase Snowflake open-source software on Railway (self hosted Metabase template)

Your business data stays in Snowflake.

Point the app at Postgres with MB_DB_TYPE=postgres and the MB_DB_HOST, MB_DB_PORT, MB_DB_USER, MB_DB_PASS, and MB_DB_DBNAME values from the Postgres service.

## Why Deploy Metabase Snowflake, the Snowsight alternative on Railway (Railway Free Trial)

Snowsight ships with your Snowflake account, so Metabase Snowflake is not a cheaper option. Snowsight still wins for ad hoc worksheets.

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Metabase Snowflake on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.

### Railway vs Other Hosting Providers and VPS for Metabase Snowflake self hosting

Most of the cost of running Metabase against Snowflake lands on Snowflake itself, so the hosting choice mostly decides how much server upkeep you take on.

| Provider | What You Get with Railway | What You Get with the Other Provider |
| --- | --- | --- |
| DigitalOcean | Metabase and Railway Postgres 18 deployed from a template with a public HTTPS domain and no droplet to patch. | A Droplet you size and patch yourself, plus optional managed Postgres at extra cost. |
| AWS | Metabase and Postgres in one project that scales by changing a plan, without VPC or IAM setup. | Fine-grained networking, including PrivateLink to Snowflake, with a steeper setup and bill. |
| Hetzner | Managed deploys and a public domain without touching a server or firewall rules. | The lowest raw compute price, but you own backups, TLS renewal, and Postgres upkeep. |

## Common Use Cases for hosted Metabase Snowflake

- **Executive KPI dashboards.** Finance and ops get revenue, churn, and pipeline numbers on one page without writing SQL. Point Metabase at a reporting schema and refresh hourly or daily, since every refresh spends warehouse credits.

- **Self-service questions for analysts.** Analysts save native Snowflake SQL as reusable cards that business users filter with dropdowns. Picking a role in the connection form does not hide tables, so grants on the Metabase user are the real access control.

- **Embedded views in internal portals.** Product or support teams embed one dashboard without a full Metabase login. Set MB_SITE_URL to your public HTTPS domain or embed links and email subscriptions will point the wrong way.

- **Scheduled stakeholder reports.** Email a Monday summary built from overnight loads, scheduled after the ETL window. A small warehouse with auto-suspend keeps the run from waking idle compute.

- **Exploratory analysis on new datasets.** Query a fresh source through the GUI in minutes, before a proper model exists. Keep scans on large tables infrequent, because scanning on every sync is a fast way to inflate the bill.

## Dependencies for Metabase Snowflake Docker hosted on Railway

Metabase Snowflake on Railway is two services plus a warehouse connection that lives outside Railway.

### Deployment Dependencies for Managed Metabase Snowflake Service (BI for the Snowflake Data Cloud)

The template deploys the official metabase/metabase image on the latest tag, listening on port 3000, plus a Railway Postgres 18 service built from ghcr.io/railwayapp-templates/postgres-ssl:18 with a persistent volume.

### Implementation Details for Metabase Snowflake (Using Metabase official docker image)

After the setup wizard, go to Admin, Databases, Add a database, and choose Snowflake.

## How does Metabase Snowflake compare against other BI tools for Snowflake platforms

Most teams choose between a handful of tools here, and the deciding factor is usually who builds the dashboards and how much modelling sits between the warehouse and the chart.

### Metabase Snowflake vs Snowsight (Snowflake built-in worksheets and dashboards)

- **Where it wins:** Metabase is friendlier for business users who want filters, drill-downs, and scheduled email reports without learning SQL.
- **Where Snowsight wins:** It ships inside your Snowflake account and inherits Snowflake's own access controls.
- **Tradeoff:** Metabase is one more service to host and one more set of credentials to rotate.

### Metabase Snowflake vs Tableau (Salesforce, closed, per-seat)

- **Where it wins:** Tableau has deeper visual analytics and a mature desktop authoring tool that power users still prefer.
- **Where Metabase wins:** Pricing is more predictable for wide audiences. Metabase Cloud Pro is $575/month with 10 users included and $12 per extra user, while Tableau bills per seat.
- **Tradeoff:** Tableau is closed source. Metabase OSS is AGPL, so you can read the code and self host it on Railway.

### Metabase Snowflake vs Looker (Google, LookML modelling layer)

- **Where it wins:** LookML lets a data team define metrics once in code and reuse them everywhere, which suits strict, large-scale governance.
- **Where Metabase wins:** There is no modelling language to learn before the first dashboard. You can connect Snowflake and be looking at numbers the same afternoon.
- **Tradeoff:** Metabase is weaker on metric governance. If you need one canonical revenue definition across many teams, Looker's structure earns its cost.

### Metabase Snowflake vs Apache Superset (open-source BI)

- **Where it wins:** Superset offers more chart types, a strong SQL Lab, and an active plugin community.
- **Where Metabase wins:** Setup is simpler for non-engineers, and the Railway template gets you to a working Snowflake connection with the Postgres app database already wired up.
- **Tradeoff:** Superset asks more of whoever deploys it, including a heavier Python stack. If your team is comfortable with that, Superset is a serious contender.

## How to use Metabase Snowflake (the OSS BI for the Snowflake Data Cloud)?

Finish the Railway deploy, open the public URL, and complete the setup wizard.

1. Create a dedicated Snowflake user for Metabase. Metabase inherits every role granted to that user, so limit the roles in Snowflake itself.
2. Create a small warehouse with a short auto-suspend timeout, because refreshes and scans bill while it runs.
3. Generate an RSA key pair and register the public key with that user. Use key pair authentication, since password auth for service users is being phased out.
4. In Metabase, go to Admin  Databases  Add a database, choose Snowflake, and enter the account identifier, username, warehouse, and case-sensitive database name. Upload the private key in the form.
5. Limit schemas to what analysts need, then save and let the first sync finish.
6. Build a first question in the query builder, or write native Snowflake SQL. Turn on caching and sensible refresh intervals to control warehouse spend.

## How to self host Metabase Snowflake on other VPS Services (Metabase Snowflake self hosting guide)

Metabase Snowflake runs as one Java container plus a Postgres database for Metabase's own metadata.

### Clone the Repository

Metabase ships as a Docker image, so there's no source checkout.

```bash
mkdir -p ~/metabase && cd ~/metabase
docker pull metabase/metabase:latest
```

### Install Dependencies

Check Docker and Compose are installed.

```bash
docker --version
docker compose version
```

### Configure Environment Variables

Create a `.env` file next to the compose file.

```bash
MB_DB_TYPE=postgres
MB_DB_HOST=postgres
MB_DB_PORT=5432
MB_DB_USER=metabase
MB_DB_PASS=your-db-password
MB_DB_DBNAME=metabase
MB_SITE_URL=https://your-domain
MB_ENCRYPTION_SECRET_KEY=your-generated-key
PORT=3000
```

### Start the Metabase Snowflake Application

Bring the stack up, then finish the setup wizard.

```bash
docker compose up -d
curl -s http://localhost:3000/api/health
```

## Official Pricing of Metabase Snowflake (Metabase Snowflake pricing)

The open-source edition of Metabase is free under the AGPL license, so the software itself costs nothing to connect to Snowflake.

## Metabase Snowflake cloud vs self hosted comparison (Pricing, features, costs, and more)

Self hosting Metabase Snowflake swaps a monthly bill for some ops work, and the real cost driver is the Snowflake warehouse that every refresh wakes up.

### Monthly cost of self hosting Metabase Snowflake on Railway

Metabase is free under AGPL, so your Railway bill covers the Metabase service and the Postgres 18 service that holds application state.

### System Requirements for Hosting Metabase Snowflake on a VPS

Plan for a Linux box running the Metabase container and Postgres 18 side by side.

## Frequently Asked Questions (FAQs)

### Which authentication method should I use for Metabase Snowflake?

Use RSA key pair authentication, since Snowflake blocks password authentication for service users from October 2026.

### Will limiting the role stop Metabase from seeing other data?

No. Create a dedicated Metabase user and grant only the roles covering the schemas it should read.

### Why does my Snowflake bill go up after I connect Metabase?

Every dashboard refresh, sync, and field scan runs on your warehouse, and a suspended warehouse resumes to run them.

### Do I need MB_ENCRYPTION_SECRET_KEY before connecting Snowflake?

Yes.

### Can Metabase Snowflake connect if my account uses network policies?

Metabase on Railway reaches Snowflake over the public internet, and Railway does not give static outbound IPs on every plan.

### How does Snowsight compare to Metabase Snowflake for dashboards?

Snowsight is included with Snowflake and is the quickest option if your team already works there.


## Similar templates

- [Plausible WordPress](https://railway.com/deploy/deploy-plausible-for-wordpress-sites) — Cookie-free WordPress stats from your own Plausible
- [Typesense Multilingual](https://railway.com/deploy/deploy-typesense-multilingual-search) — Locale-aware multilingual search with Typesense
- [Formbricks](https://railway.com/deploy/formbricks-surveys) — Surveys, NPS and in-app feedback on your own Postgres, Hub and Cube

Open this page in a browser: https://railway.com/deploy/deploy-metabase-for-snowflake
