Deploy Metabase White Label
white-label BI embeds for your brand
Just deployed
/var/lib/postgresql/data
metabase/metabase
Just deployed
Deploy and Host self hosted Metabase White Label (Open-Source BI) on Railway
White-labeling Metabase means your customers see your logo, your colors, and your fonts — never the Metabase name. You run the official OSS image, set appearance variables, and hand over a branded analytics URL.
About Hosting Metabase White Label open-source software on Railway (self hosted Metabase template)
You’re not deploying a fork. You’re deploying stock metabase/metabase with appearance settings, a companion Postgres, and a few environment variables that keep branding and encryption stable across redeploys.
The biggest mistake is treating H2 as acceptable. First boot will happily create an embedded H2 file if no Postgres is configured, then wipe it on every deploy, taking users, dashboards, and permissions with it. Always point MB_DB_TYPE at Postgres from the start.
Why Deploy Metabase White Label, the Tableau alternative on Railway (Railway Free Trial)
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 White Label 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 White Label self hosting
Running branded Metabase on a raw VPS means you own nginx, TLS certs, Docker updates, and Postgres backups. Railway collapses that into a deploy with public URL and managed Postgres.
| Provider | Setup effort | Managed Postgres | Public HTTPS | Scaling model | Typical small cost |
|---|---|---|---|---|---|
| DigitalOcean | Medium (Droplet + App Platform) | Yes, add-on | Yes on App Platform | Vertical/horizontal, manual | ~$10–25/mo |
| AWS | High (ECS/Fargate, RDS, ALB) | Yes, RDS | Yes, ALB + ACM | Very flexible, complex | Often $25–50/mo |
| Hetzner | High (manual Docker + Caddy/nginx) | Optional managed DB | Manual via Caddy or certbot | Vertical, manual | ~$6–15/mo |
| Railway | Low (template + Postgres) | Yes, included | Automatic | Vertical, click-to-scale | ~$5–15/mo Hobby |
Railway wins on time-to-branded-URL. If you already have AWS with VPC peering, use AWS. For lowest cost and you don't mind ops, Hetzner is hard to beat. Railway's trade-off is less raw network control than a VPS.
Common Use Cases for hosted Metabase White Label
A common pattern is embedding a dashboard inside a SaaS product where the end customer shouldn't see “Powered by Metabase.” You change the app name, upload your logo, set a primary color, and the embed looks native.
Interactive embedding is more advanced. Metabase OSS supports public and signed embeds. Signed embeds let you pass parameters and enforce row-level filtering. But full interactive embed with JWT SSO, granular provisioning, and white-labeling on every page is Pro-only.
Dependencies for Metabase White Label Docker hosted on Railway
The only hard dependency is Postgres for the app database. Without it, Metabase falls back to H2 and branding settings, users, and dashboards vanish on next deploy.
Deployment Dependencies for Managed Metabase White Label Service (White-Label BI)
A managed Metabase White Label service on Railway needs two services: metabase/metabase container and a Postgres 17 service (e.g., ghcr.io/railwayapp-templates/postgres-ssl). Configure these environment variables on the Metabase service:
MB_DB_TYPE=postgresMB_DB_HOST=MB_DB_PORT=5432MB_DB_USER=MB_DB_PASS=MB_DB_DBNAME=- `MB_ENCRYPTION_
The encryption secret must never change after you create users or save database connection details. If you regenerate it, encrypted fields like SMTP passwords and database credentials break.
Implementation Details for Metabase White Label (Using Metabase official docker image)
Use official metabase/metabase, pinned to a known tag like v0.63.x. The app listens on port 3000, so expose that in Railway. Health check: GET /api/health returns 200 when app is up and migrations complete.
How does Metabase White Label compare against other white-label BI platforms
Metabase OSS covers logo, color, font, and application name changes plus public/signed embeds. It lacks per-customer domains, SSO, and row-level sandboxing unless you add Pro/Enterprise. Compare by embed needs, tenant branding depth, and per-seat cost.
Metabase White Label vs Tableau Embedded (Tableau Embedded Alternative)
Tableau Embedded offers deep custom portals and per-view pricing; setup is heavier. Metabase OSS is easier for dashboards, but customer-level white-label and permissions need Pro. Tableau suits large OEM deals; Metabase suits lean customer analytics.
Metabase White Label vs Looker Embedded (Looker Embedded Alternative)
Looker Embedded has SSO, SDK, and white-label themes, but pricing and LookML overhead are high. Metabase Pro adds SSO/JWT and interactive embeds for less; OSS alone lacks SSO and per-user row limits.
Metabase White Label vs Power BI Embedded (Power BI Embedded Alternative)
Power BI Embedded ties to Azure AD and capacity SKUs. Metabase OSS deploys on any VPS, including Railway, with simple branding. Power BI wins for Microsoft shops; Metabase wins for open-source cost and quick embeds.
Metabase White Label vs Sisense (Sisense Alternative)
Sisense provides a full white-label BI portal with per-tenant styling and SSO. Metabase OSS stops at logo/color/font and signed embeds; Pro closes the SSO/RLS gap but not full multi-tenant portal. Sisense costs more per node.
How to use Metabase White Label (the OSS White-Label BI)?
Go to Admin > Settings > Appearance. Set application name, logo, favicon, accent color, and font. For embedded dashboards, enable embedding on a question or dashboard. Use a public link or a signed JWT with locked parameters. Keep MB_SITE_URL set to your Railway public domain so links and iframes resolve. OSS keeps “Powered by Metabase” in some embed views; Pro removes it and adds custom fonts and per-customer SSO.
How to self host Metabase White Label on other VPS Services (Metabase White Label self hosting guide)
Any VPS with Docker or Java 11+ works. You need Postgres as the app database, not H2. Set environment variables before first start; changing MB_ENCRYPTION_SECRET_KEY later breaks stored credentials.
Clone the Repository
Clone your Railway template repo or the official metabase/metabase repo. For Docker-only deploys, you only need the compose/env files, not the Java source.
Install Dependencies
Use Docker: install Docker and compose plugin. Or install OpenJDK 11+ and build metabase.jar with ./bin/build.
Configure Environment Variables
Set MB_DB_TYPE=postgres, MB_DB_CONNECTION_URI (or MB_DB_HOST, MB_DB_PORT, MB_DB_NAME, MB_DB_USER, MB_DB_PASS), MB_ENCRYPTION_SECRET_KEY, MB_SITE_URL, MB_JETTY_HOST=0.0.0.0, MB_JETTY_PORT=3000.
Start the Metabase White Label Application
Run docker compose up -d or java -jar metabase.jar. Health check: curl localhost:3000/api/health.
Official Pricing of Metabase White Label (Metabase White Label pricing)
Metabase OSS is free under AGPL. White-label branding beyond logo/color/font and removal of Metabase marks requires Metabase Pro or Enterprise, sold per user. Check metabase.com/pricing for current tiers. Railway adds no Metabase license fee; you pay only infrastructure.
Metabase White Label cloud vs self hosted comparison (Pricing, features, costs, and more)
Metabase Cloud Starter is about $85/mo and includes managed hosting, backups, and upgrades, but does not include Pro white-label features. Self-hosting on Railway gives you OSS branding changes and full control over the instance; Pro/Enterprise licenses are separate.
Monthly cost of self hosting Metabase White Label on Railway
Typical Hobby deployment: Metabase service ~$5, Postgres ~$1–5, total roughly $5–15/mo. A $5 GitHub trial credit can cover early use. This undercuts Cloud Starter, but you manage upgrades and backups.
System Requirements for Hosting Metabase White Label on a VPS
Minimum 1 vCPU, 2GB RAM, 20GB disk for small teams. Use 2 vCPU, 4GB RAM for 50+ concurrent viewers. Postgres 12+ required; H2 is not supported for Railway persistence.
Frequently Asked Questions (FAQs)
OSS embeds, site URL, database, encryption key, cost, and HA are the common blockers. Short answers below.
Can I do customer embeds on Metabase OSS?
Yes: public embeds and signed embeds with locked parameters. No interactive embeds tied to customer identity, no SSO/JWT, and no row-level sandboxing in OSS; those need Pro/Enterprise.
What is MB_SITE_URL used for with embeds?
It is the public base URL for generated links, iframes, password reset, and SSO callbacks. If it doesn’t match your Railway domain, embed URLs and redirects break.
Why must the app DB be Postgres not H2?
H2 is a single-file database with no concurrency or backups; data can be lost on container restart. Postgres gives persistent, multi-user storage and safe Railway deploys.
What breaks if I rotate MB_ENCRYPTION_SECRET_KEY?
Stored SMTP passwords, LDAP bind credentials, Slack/email integration secrets, and embed JWT signing can no longer decrypt. Rotate only if you plan to re-enter all secrets.
How does Railway cost compare to Metabase Cloud?
Railway self-host usually $5–15/mo vs Cloud Starter ~$85/mo. Cloud includes managed Metabase, backups, support, and upgrades; Railway gives infra only, you run the app.
Is this template multi-node HA?
No. It is one Metabase container plus one Postgres. Metabase OSS does not scale horizontally; run a larger single instance instead of multiple replicas.
Template Content
metabase/metabase
metabase/metabase