Deploy Metabase Site URL

MB_SITE_URL for links, embeds, and emails

Deploy Metabase Site URL

/var/lib/postgresql/data

metabase/metabase

metabase/metabase

Just deployed

Deploy and Host self hosted Metabase Site URL (Public URL BI) on Railway

You can deploy Metabase, build a lovely dashboard, and still email your team links to the wrong host. This template runs the official image with a Postgres app DB and treats MB_SITE_URL as a first-class setting, so subscriptions, resets, public links, and signed embeds point at the HTTPS address people actually visit.

About Hosting Metabase Site URL open-source software on Railway (self hosted Metabase template)

The first week usually goes fine. Then you add a custom domain, the Monday subscription goes out, and every link still says something.up.railway.app. That isn't a Metabase bug. The app doesn't know its public address unless you tell it.

Without a site URL, Metabase records the browser address used during setup and keeps it. Background jobs like subscriptions and reset emails have no request to look at, so they trust that stored value. Pinning MB_SITE_URL removes the guesswork.

Why Deploy Metabase Site URL, the Tableau alternative on Railway (Railway Free Trial)

Tableau's per-user pricing makes small teams flinch. Metabase OSS gives you dashboards, subscriptions, and SQL without license fees, and Railway hands you an HTTPS domain on deploy. You own the URL config, which is a fair trade for a fraction of the bill.

The Railway $5 GitHub trial lets you break the site URL on purpose before real users depend on it.

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 Site URL 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 Site URL self hosting

MB_SITE_URL depends on TLS, a stable domain, and a Postgres that survives redeploys.

ProviderMetabase deployment experienceSite URL gotchaCost reality
DigitalOceanDroplet or App Platform; you manage Nginx, TLS, and DNSReverse proxy must forward the right host and schemePredictable, more moving parts
AWSEC2 or ECS behind an ALB; capable but sprawling for one BI toolEasy to pin the ALB hostname instead of your real domainCheap instances, costly engineering time
HetznerBare VPS; Docker, Postgres, and certbot by handNo managed HTTPS, so http site URLs and mixed-content errors are commonLowest compute cost, most DIY

On Railway the HTTPS domain is automatic, Postgres sits on the same canvas, and the site URL is a copy-paste from the service's Networking settings.

Common Use Cases for hosted Metabase Site URL

Dashboard subscriptions are the classic case: a Monday KPI email links back to the live dashboard, and a stale site URL sends it to a dead host. Password reset and invite emails fail the same way, which is how most people discover the problem. Signed embeds in a customer portal are the loudest failure: if the site URL is http:// and your app is HTTPS, the browser blocks the iframe as mixed content.

Dependencies for Metabase Site URL Docker hosted on Railway

The dependency that surprises people is Postgres. Metabase will happily boot on embedded H2, then lose users and dashboards on the next redeploy. This template gives it a Postgres app database from day one.

Deployment Dependencies for Managed Metabase Site URL Service (Business Intelligence)

The app layer is the metabase/metabase image on port 3000 with a health check at GET /api/health. The state layer is ghcr.io/railwayapp-templates/postgres-ssl (17 is fine), wired with MB_DB_TYPE=postgres plus MB_DB_HOST, MB_DB_PORT, MB_DB_USER, MB_DB_PASS, and MB_DB_DBNAME.

The URL layer is why this listing exists. Set MB_SITE_URL to the full public HTTPS address, such as https://your-app.up.railway.app or your custom domain, with no trailing path. Set MB_ENCRYPTION_SECRET_KEY once and keep it stable, because rotating it breaks the encrypted connection details Metabase stores.

Implementation Details for Metabase Site URL (Using Metabase official docker image)

No Dockerfile needed. First boot runs migrations against the app Postgres, then opens the setup wizard for your admin user.

Warehouse databases (Postgres, MySQL, BigQuery, Snowflake, Redshift, MongoDB) are separate from the app DB and get connected after setup through Admin → Databases.

One subtlety: Admin settings has a Site URL field under General. When MB_SITE_URL is set, that field is locked and shows the value came from an environment variable. On Railway, keep the variable as the single source of truth and change it there.

How does Metabase Site URL compare against other Business Intelligence platforms

Managed BI handles URLs and embed origins for a per-seat premium. Self-hosted tools hand you the config.

Metabase Site URL vs Tableau (Tableau Alternative)

Tableau Cloud handles public URLs and embed origins without an environment variable, and its visual polish is still ahead. The loss is cost: Creator seats run about $75 per user per month and viewers cost extra. Metabase doesn't charge per viewer.

Metabase Site URL vs Power BI (Power BI Alternative)

Power BI wins inside a Microsoft shop, with cheap Pro seats and tight Excel and Teams ties. Outside Microsoft 365 that fades, and self-hosting means Report Server on premium licensing. Metabase on Railway is one container, one Postgres, and one env var for the URL.

Metabase Site URL vs Looker (Looker Alternative)

Looker wins on modeling. LookML is a serious semantic layer, and with a data team to maintain it, Looker earns its contract. Pricing is quote-based and typically lands in the tens of thousands per year. For dashboards this quarter, Metabase is faster.

Metabase Site URL vs Apache Superset (Apache Superset Alternative)

Superset has more chart types and a Python stack data engineers like, but setup is heavier, with more containers and config. If you need Superset's chart variety, the extra ops are worth it. If you need email links that just work, Metabase is less friction.

How to use Metabase Site URL (the OSS Business Intelligence)?

Before opening the app, set MB_SITE_URL to the generated Railway domain and deploy. Then finish the setup wizard, connect a warehouse, and build questions with the visual query builder or the SQL editor. Dashboards collect questions, and subscriptions email them on a schedule once SMTP is configured.

Test the URL the cheap way: send yourself a subscription and a password reset, then click both links from your phone. If you later add a custom domain in Railway, update the variable, redeploy, and send the test again.

How to self host Metabase Site URL on other VPS Services (Metabase Site URL self hosting guide)

The same pattern works on any Docker VPS.

Clone the Repository

The source is metabase/metabase on GitHub, but deployments just pull the official image.

Install Dependencies

Install Docker, Docker Compose, and Caddy or Nginx for TLS. Postgres can be a container or managed. The image bundles Java.

Configure Environment Variables

Write a compose file with metabase and postgres services. Set the MB_DB_* values, a long random MB_ENCRYPTION_SECRET_KEY, and MB_SITE_URL to the HTTPS domain your proxy serves. Make sure the proxy terminates TLS so the site URL can honestly say https.

Start the Metabase Site URL Application

Run docker compose up -d, wait for /api/health, open the domain, and finish the wizard.

Official Pricing of Metabase Site URL (Metabase Site URL pricing)

Metabase OSS is free under the AGPL. Metabase Cloud Starter is about $85 per month plus per-user fees, and Pro costs considerably more for SAML and JWT SSO, row and column security, and interactive embedding. Signed static embeds work on OSS, which is exactly where a correct site URL matters most.

Metabase Site URL cloud vs self hosted comparison (Pricing, features, costs, and more)

Cloud buys managed domains, backups, and upgrades. Self-hosting buys cost control and owning your data path.

Monthly cost of self hosting Metabase Site URL on Railway

A modest Metabase plus small Postgres usually runs about $5–15 per month on Hobby. The hidden cost is an hour of setup for the site URL, encryption key, and SMTP, paid once.

System Requirements for Hosting Metabase Site URL on a VPS

Give Metabase 1–2 GB of RAM and one vCPU, and Postgres a few hundred MB. The real requirement is valid HTTPS on the domain in MB_SITE_URL, or every email link, embed, and public share inherits the problem.

Frequently Asked Questions (FAQs)

What actually breaks when MB_SITE_URL is wrong?

Subscription and alert emails link to a dead host, password resets go nowhere, public links copy with the wrong domain, and embeds get blocked on scheme mismatch. Dashboards in the browser still work, so the bug hides.

Can I change the domain later?

Yes. Add the custom domain in Railway, update MB_SITE_URL, and redeploy. Emails sent before the change keep their old links, so leave the Railway domain attached for a while.

What's the difference between the admin Site URL field and the env var?

The admin field writes the value into the app database. When the env var is set, Metabase uses it and locks the field. Pick the variable on Railway so the setting lives with the rest of your config.

Should the site URL have a trailing slash?

No. Use the bare origin, like https://bi.example.com.

Do I need Postgres for the Metabase app database?

For production, yes. H2 is fine for a laptop demo but is wiped on redeploy. Warehouses stay separate and connect after setup.


Template Content

More templates in this category

View Template
Typesense PHP
official PHP client against Railway

onepush
0
View Template
Typesense vs Meilisearch
self-hosted Typesense vs Meilisearch

onepush
0
View Template
Matomo Analytics + MariaDB
Privacy-friendly analytics with MariaDB and persistent volumes.

leodev
1