Deploy Metabase Finance
finance and P&L reporting with Metabase
metabase/metabase
Just deployed
Just deployed
/var/lib/postgresql/data
Deploy and Host self hosted Metabase Finance (Open-Source BI) on Railway
Month-end close stops being a spreadsheet archaeology project when your P&L, margin, and cash-flow data live in a queryable layer.
About Hosting Metabase Finance open-source software on Railway (self hosted Metabase template)
You’ve probably already tried exporting QuickBooks to CSV, building a pivot table, and emailing screenshots to the CFO. That workflow breaks the first time someone asks for variance by product line versus budget for the last six quarters.
The template provisions two Railway services: Metabase from the official metabase/metabase image (pin a current v0.63.x tag) and a Postgres service from ghcr.io/railwayapp-templates/postgres-ssl (version 17 works).
Why Deploy Metabase Finance, the Tableau alternative on Railway (Railway Free Trial)
Tableau’s visuals are polished, and its Creator seat pricing is polished for the vendor. Metabase’s open-source edition is AGPL-licensed and free to run.
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 Finance 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 Finance self hosting
You can stand up a DigitalOcean droplet, install Docker, run Metabase and Postgres, and spend a Saturday wiring SSL, backups, and monitoring.
| Provider | Managed Postgres | Setup Time | Small Stack Cost | Ops Burden |
|---|---|---|---|---|
| Railway | Yes, one-click | ~10 minutes | $5–15/mo typical | Low; env vars and networking handled |
| DigitalOcean | Managed option | 1–2 hours | $15–30/mo | Medium; you wire the pieces |
| AWS | RDS available | Half a day | $30–60/mo | High; IAM, VPC, security groups |
| Hetzner | Not managed | 2+ hours | $10–20/mo | High; everything manual |
Common Use Cases for hosted Metabase Finance
The first dashboard most teams build is a P&L summary: revenue, COGS, gross margin, opex, net income, filtered by month with a variance column against budget. Then comes a monthly close package combining P&L, balance sheet snapshot, and AP/AR aging.
Dependencies for Metabase Finance Docker hosted on Railway
The hard requirement is Postgres for the application database. Metabase’s default H2 database lives inside the container filesystem and gets wiped on every redeploy. If you skip the Postgres service, you’ll create dashboards, redeploy once, and wonder where everything went.
Two more environment variables deserve attention. MB_ENCRYPTION_SECRET_KEY encrypts database connection credentials you save inside Metabase.
Deployment Dependencies for Managed Metabase Finance Service (Business Intelligence)
The Metabase service listens on port 3000. The health check is a GET request to /api/health, returning 200 once the JVM boots and migrations finish. First boot takes a minute or two — Java process, initial migration against Postgres, setup wizard.
After first boot, go to Admin → Databases and add finance data sources. If your accounting system exports to Postgres or MySQL, great.
Metabase is single-node in this template. You can scale vertically on Railway by increasing CPU and RAM, but there’s no multi-node Metabase cluster here.
Implementation Details for Metabase Finance (Using Metabase official docker image)
The official metabase/metabase image bundles the JVM, the web server, and the query processor. Pin the tag (v0.63.x) rather than using latest, because major version bumps can change behavior and you want reproducibility.
The Postgres service from the template handles the app database. You don’t need to run migrations manually; Metabase does that on first boot against the app Postgres.
One gotcha: if you ever change the Postgres credentials, update the Metabase environment variables and redeploy. If the app can’t connect, the health check fails, and Railway shows the service as unhealthy. That’s a signal to check MB_DB_* vars, not a reason to panic.
How does Metabase Finance compare against other Business Intelligence platforms
Metabase Finance fits finance teams that need P&L, revenue, expense, margin, and monthly close dashboards without a data engineering team. It runs on one Railway service plus Postgres. Tableau, Power BI, Looker, and Superset each differ in cost, setup, and embedding.
Metabase Finance vs Tableau (Tableau Alternative)
Tableau is strong for deep visual analytics but requires licenses and often a separate server. Metabase Finance covers revenue and expense SQL dashboards with shared questions, alerts, and subscriptions. For P&L review, Metabase is faster to deploy on Railway at ~$5–15/mo.
Metabase Finance vs Power BI (Power BI Alternative)
Power BI ties into Microsoft stack and DAX, but per-user Pro/Premium costs grow with finance viewers. Metabase Finance uses SQL and a simple UI. Finance analysts can build margin and close dashboards, then share read-only links without per-seat fees on self-host.
Metabase Finance vs Looker (Looker Alternative)
Looker offers LookML modeling and governed metrics, but pricing is enterprise-level. Metabase Finance gives finance teams SQL models, saved questions, and collections. For P&L and close dashboards, Metabase OSS avoids vendor lock-in and runs AGPL on your own VPS.
Metabase Finance vs Apache Superset (Apache Superset Alternative)
Superset is open source but needs Python, Celery, and more setup. Metabase Finance is a single Java app on port 3000 with health at /api/health. Finance users get dashboards faster and need less infra care on Railway.
How to use Metabase Finance (the OSS Business Intelligence)?
Connect Postgres or other finance sources. Build questions from revenue, expense, GL, AR, AP tables. Save dashboards for P&L, margins, burn, close status. Use SQL for accruals and cohort views. Schedule email or Slack subscriptions. Keep app DB as Postgres via MB_DB_TYPE=postgres and MB_DB_* variables.
How to self host Metabase Finance on other VPS Services (Metabase Finance self hosting guide)
The app image is metabase/metabase on port 3000, health check /api/health. Use ghcr.io/railwayapp-templates/postgres-ssl as the app DB. Set MB_ENCRYPTION_SECRET_KEY once and keep it stable. On any VPS, run the steps below.
Clone the Repository
Clone this template or copy the Railway service definition. Do not use Brody's https://railway.com/deploy/metabase as this clone's deploy CTA; that is an alternate public listing only.
Install Dependencies
No OS dependencies beyond Docker or Java. Use the official metabase/metabase image. Add a Postgres 14+ database for app metadata.
Configure Environment Variables
Set MB_DB_TYPE=postgres, MB_DB_HOST, MB_DB_PORT, MB_DB_DBNAME, MB_DB_USER, MB_DB_PASS. Set MB_ENCRYPTION_SECRET_KEY. Set MB_SITE_URL to your public URL. Port is 3000.
Start the Metabase Finance Application
Run the container with port 3000 exposed. Check /api/health. Open the UI, create admin user, connect finance sources.
Official Pricing of Metabase Finance (Metabase Finance pricing)
Metabase OSS is AGPL and free to self-host. You pay only your VPS/DB costs. Pro and Enterprise add SSO, interactive embeds, row-level restrictions, and audit, but finance P&L dashboards, SQL, alerts, subscriptions, and static embeds work in OSS. Metabase Cloud Starter is ~$85/mo.
Metabase Finance cloud vs self hosted comparison (Pricing, features, costs, and more)
Metabase Cloud Starter is ~$85/mo. Self-host on Railway with Metabase + Postgres typically runs ~$5–15/mo Hobby. Cloud handles upgrades and HA; self-host gives direct DB access, custom networking, and lower cost. OSS lacks Pro features like SSO, interactive embed, and row-level restrictions.
Monthly cost of self hosting Metabase Finance on Railway
A Hobby Metabase service plus Postgres usually costs ~$5–15/mo. Use the $5 GitHub trial for early testing. Costs rise with RAM, CPU, and storage for finance dashboards and larger query caches.
System Requirements for Hosting Metabase Finance on a VPS
Start with 1 vCPU, 2 GB RAM, 10 GB disk for Metabase plus 2 GB RAM for Postgres. Finance queries on large GL tables need more RAM and a tuned DB. Keep app and DB on private network.
Frequently Asked Questions (FAQs)
Short answers for common OSS, embed, encryption, and Railway cost questions.
Can I do customer embeds on Metabase OSS?
Static/public embeds work. Interactive embed, SSO, and row-level restrictions are mostly Pro/Enterprise. For finance P&L dashboards shared internally, OSS is fine.
What is MB_SITE_URL used for with embeds?
MB_SITE_URL sets the base URL for generated embed links, subscription links, and redirects. Wrong value breaks embeds and emailed dashboard links.
Why must the app DB be Postgres not H2?
H2 is single-process and loses data on redeploy or scaling. Postgres via MB_DB_TYPE=postgres persists dashboards, questions, collections, and settings across Railway deploys.
What breaks if I rotate MB_ENCRYPTION_SECRET_KEY?
Rotating the key invalidates encrypted connection details and embed tokens. Existing finance data source credentials must be re-entered; embeds need new tokens. Keep the value stable.
How does Railway cost compare to Metabase Cloud?
Metabase Cloud Starter is ~$85/mo. Railway Metabase + Postgres typically costs ~$5–15/mo Hobby. You handle upgrades and backups.
Is this template multi-node HA?
No. Single Metabase service plus one Postgres. For HA, run multiple Metabase instances behind a load balancer against managed Postgres, but this clone does not configure that.
Template Content
metabase/metabase
metabase/metabase