Deploy Metabase Supabase
Dashboards and SQL on your Supabase Postgres database
Just deployed
/var/lib/postgresql/data
metabase/metabase
Just deployed
Deploy and Host self hosted Metabase Supabase (Open-Source BI for Supabase) on Railway
This template gives you a self-hosted Metabase instance on Railway, with its own Postgres for app data, ready to point at a Supabase project's database.
About Hosting Metabase Supabase open-source software on Railway (self hosted Metabase template)
Your data stays under your control when you run Metabase on Railway. Your Supabase database is a separate connection you add later under Admin Databases.
Set MB_SITE_URL to your public HTTPS domain and keep MB_PASSWORD_COMPLEXITY=strong. The MB_DB_* variables come from the Postgres service.
Why Deploy Metabase Supabase, the Supabase Studio alternative on Railway (Railway Free Trial)
Supabase Studio is great for tables, auth users, and raw SQL, but it is not built for sharing dashboards with people who just want a weekly revenue chart.
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 Supabase 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 Supabase self hosting
Metabase Supabase runs as two Railway services, Metabase and its Postgres 18 application database, so the real question is how much plumbing you want to own.
| Provider | What You Get with Railway | What You Get with the Other Provider |
|---|---|---|
| DigitalOcean | Template deploy with both services wired and public HTTPS, no server patching. | Root access and a cheap droplet, but you handle Docker, TLS, and backups. |
| AWS | Two services and a domain in minutes, with predictable usage billing for a small stack. | Deep control over VPC, RDS, and IAM, which pays off at scale but adds setup first. |
| Hetzner | Variables and volumes managed in one place, so the Postgres password and MB_SITE_URL stay consistent. | Low raw cost per vCPU, suited to operators comfortable with Compose and manual upgrades. |
On a VPS you get more knobs; on Railway you get a running Metabase Supabase stack sooner.
Common Use Cases for hosted Metabase Supabase
-
Founder dashboards on live app data. Point Metabase at your Supabase Postgres and build questions on users, orders, and subscriptions. Pin them to a dashboard so the team stops asking engineers for CSVs.
-
Internal ops tools with filters. Support leads can search tickets or look up customers through SQL questions with variables, without opening the Supabase Studio table editor.
-
Auth-aware reporting. The
authschema is managed bysupabase_auth_admin. Use the Schemas option (for examplepublic,auth) to sync only what you need. -
Read-only analytics. Create a dedicated role with
create role "metabase_reader" with login password '...';, grantSELECTon the tables you need, and setNOINHERIT. Connecting aspostgresorservice_rolebypasses Row Level Security. -
Embedded charts. Render saved questions in an internal portal without giving viewers database access. Set
MB_SITE_URLto your public HTTPS domain first, since embed links depend on it.
Dependencies for Metabase Supabase Docker hosted on Railway
Your Railway template gives you two services: the official metabase/metabase image on port 3000, and a Railway Postgres 18 with a volume.
Deployment Dependencies for Managed Metabase Supabase Service (BI for Supabase Postgres)
You need a Railway account, a Supabase project, and its database password. Set MB_SITE_URL to your public HTTPS domain once Railway assigns it.
Implementation Details for Metabase Supabase (Using Metabase official docker image)
The service runs the latest metabase/metabase image with a health check at GET /api/health. Create a read-only role with NOINHERIT instead.
How does Metabase Supabase compare against other BI tools for Supabase platforms
Supabase Studio is handy for poking at data, but it isn't built for sharing a dashboard with finance on Monday morning.
Metabase Supabase vs Supabase Studio (Competitor Alternative)
- Where Metabase Supabase wins: Saved questions, dashboards, and scheduled email reports are first-class, and non-SQL folks can filter without touching a query editor.
- Where Supabase Studio wins: It ships inside the project you already have, with table editing, auth, and storage in one place.
- Operator note: Studio can edit rows, so keep Metabase on a read-only role so dashboards can't become a write path.
Metabase Supabase vs Grafana (Competitor Alternative)
- Where Metabase Supabase wins: It's built around business questions and relational SQL, so joins between users and orders feel natural.
- Where Grafana wins: Time-series, alerting, and observability across many backends. If your data is mostly metrics over time, Grafana may fit better.
Metabase Supabase vs Apache Superset (Competitor Alternative)
- Where Metabase Supabase wins: Setup is lighter. The Postgres connection, sync, and first dashboard come together in an afternoon.
- Where Apache Superset wins: Deeper SQL Lab workflows, richer chart types, and more flexibility for power users who live in SQL.
Metabase Supabase vs Retool (Competitor Alternative)
- Where Metabase Supabase wins: It's a read-first analytics surface, giving you charts and filters without building an internal app.
- Where Retool wins: CRUD admin tools, approval flows, and custom UIs on top of Supabase and APIs. Retool is an app builder; Metabase is a reporting layer.
- Operator note: Many teams run both, Retool for operational tools that write and Metabase for the read-only dashboards leadership actually checks.
How to use Metabase Supabase (the OSS BI for Supabase Postgres)?
Once the first deploy finishes, open the public domain and finish the setup wizard.
- Set
MB_ENCRYPTION_SECRET_KEYin Railway before saving warehouse credentials, and never change it afterward. - In Metabase, click the grid icon, then Admin Databases Add a database, and choose PostgreSQL.
- Paste the session-mode or direct connection string from Supabase's Connect dialog, since transaction mode drops session state.
- Set SSL to
require, or useverify-fullwith the root certificate for full verification. - Create a read-only role and grant only the tables you need, avoiding
postgresandservice_rolebecause they bypass Row Level Security. - Limit Schemas to
publicbefore saving.
How to self host Metabase Supabase on other VPS Services (Metabase Supabase self hosting guide)
Keep Metabase's application database separate from your Supabase project, which is only a data source.
Clone the Repository
Make a folder on your VPS for a compose file that runs metabase/metabase:latest on port 3000 next to Postgres 18.
mkdir metabase-supabase && cd metabase-supabase
Install Dependencies
You need Docker and Docker Compose. Put a reverse proxy with HTTPS in front of port 3000, since links and emails need a public address.
docker --version
docker compose version
Configure Environment Variables
Point Metabase at Postgres instead of the H2 file, and set the encryption key before saving any Supabase credentials.
MB_DB_TYPE=postgres
MB_DB_HOST=your-domain-db
MB_DB_PORT=5432
MB_DB_USER=metabase
MB_DB_PASS=your-strong-password
MB_DB_DBNAME=metabase
MB_SITE_URL=https://your-domain
MB_PASSWORD_COMPLEXITY=strong
PORT=3000
MB_ENCRYPTION_SECRET_KEY=your-long-random-key
Then add Supabase under Admin Databases, using the pooler host from the Connect dialog with SSL set to require.
Start the Metabase Supabase Application
Bring the stack up and watch the first boot run its migrations.
docker compose up -d
docker compose logs -f metabase
Finish the setup wizard to create the admin user. Railway handles TLS, the persistent volume, and restarts for you.
Official Pricing of Metabase Supabase (Metabase Supabase pricing)
Metabase is open source under AGPL, so the software is free. Metabase Cloud is a separate bill. Enterprise starts at $20,000 per year.
Metabase Supabase cloud vs self hosted comparison (Pricing, features, costs, and more)
Hosted Metabase bills by seat, and seats add up fast once several analysts need access.
Monthly cost of self hosting Metabase Supabase on Railway
Metabase OSS is free under AGPL, so the recurring cost is Railway compute plus the Postgres service holding Metabase's application data.
Metabase Cloud Starter is listed at $100 per month with 5 users included, plus $6 per extra user. Enterprise starts at $20,000 per year.
System Requirements for Hosting Metabase Supabase on a VPS
On a VPS, plan for the official Docker image plus a Postgres instance for the application database. Serve it over HTTPS, since MB_SITE_URL must be the public address.
Frequently Asked Questions (FAQs)
Should I use the pooler or the direct connection for Metabase Supabase?
Use the shared pooler in session mode (port 5432, username postgres.[PROJECT-REF]). It works over IPv4 on every plan.
Do I need the Supabase root certificate?
Setting SSL to require encrypts the connection but does not verify the server.
Will Metabase Supabase bypass Row Level Security?
Only if it connects as a privileged role. Use a dedicated login role and your policies will apply.
Which schemas should I expose to Metabase Supabase?
Limit the Schemas setting to what you need, such as public only.
What should I do with the encryption key?
The template does not set MB_ENCRYPTION_SECRET_KEY.
Can I use a read-only role for dashboards?
Yes, and you should.
Template Content
metabase/metabase
metabase/metabase
