Deploy Metabase First Boot
first-boot migrations and admin setup
metabase/metabase
Just deployed
Just deployed
/var/lib/postgresql/data
Deploy and Host self hosted Metabase First Boot (Self-Hosted BI Setup) on Railway
The first time metabase/metabase meets an empty Postgres database, it spends a few quiet minutes running migrations before it shows you anything. Most "Metabase won't start" threads are really "someone restarted it halfway through." This template pairs the official image with a Railway Postgres app DB and walks through that first boot so every deploy after it is boring.
About Hosting Metabase First Boot open-source software on Railway (self hosted Metabase template)
Here's what actually happens. The JVM starts, Metabase connects to the app database named in MB_DB_*, and Liquibase applies the full changelog history in order, not just the latest schema. On a fresh database that's hundreds of changesets. Only after that does the web server answer on port 3000 and the setup wizard appear.
Logs look stalled during this stretch. They aren't. The two mistakes that hurt are killing the container mid-run and forgetting to point Metabase at Postgres at all, which leaves it on H2. This template avoids the second by wiring Postgres before the first deploy.
Why Deploy Metabase First Boot, the Power BI alternative on Railway (Railway Free Trial)
Power BI's first day is a licensing exercise: tenants, per-user seats, and a data gateway if your database lives outside Microsoft's cloud. Metabase's first day is a container, a database, and a wizard. No sales call, and the code is AGPL so you can read exactly what the migrations do.
The Railway $5 GitHub trial covers a small Metabase and Postgres stack long enough to watch first boot finish, click through setup, and decide.
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 First Boot 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 First Boot self hosting
First-boot pain depends on how much wiring you do before migrations start.
| Provider | First-boot friction | Postgres handling | Stuck migration recovery |
|---|---|---|---|
| DigitalOcean | Droplet plus Docker and firewall rules | Managed DB add-on, configured separately | SSH in and run release-locks |
| AWS | ECS or EC2 with IAM, security groups, and RDS | RDS is solid but verbose to wire | Exec into the task or run a one-off |
| Hetzner | Raw VPS, everything by hand | You install and patch Postgres | Fully manual |
On Railway, Postgres sits on the same canvas, its variables feed MB_DB_* through references, and logs stream live while Liquibase works.
Common Use Cases for hosted Metabase First Boot
First boot is where a startup skipping per-seat BI, a data team evaluating Metabase against Superset, or an agency spinning up one instance per client finds out whether the plumbing is right. Postgres credentials, the encryption key, and the site URL are all tested in those first ten minutes. Get them right now and you won't be rebuilding a month later with dashboards on the line.
Dependencies for Metabase First Boot Docker hosted on Railway
First boot needs exactly two things: the official image and a Postgres database it can own. The app DB holds users, dashboards, saved questions, and the migration ledger itself. H2 would also boot, but it lives inside the container and disappears on redeploy. This is a single-node OSS setup, so plan around one Metabase service rather than a cluster.
Deployment Dependencies for Managed Metabase First Boot Service (Business Intelligence)
Metabase and ghcr.io/railwayapp-templates/postgres-ssl (17 is fine) run as two services. Set MB_DB_TYPE=postgres with MB_DB_HOST, MB_DB_PORT, MB_DB_USER, MB_DB_PASS, and MB_DB_DBNAME pointing at the companion Postgres. Set MB_ENCRYPTION_SECRET_KEY before the first boot, since it encrypts the warehouse credentials you'll add in the wizard, and set MB_SITE_URL to the public HTTPS domain.
Implementation Details for Metabase First Boot (Using Metabase official docker image)
The image listens on 3000, and GET /api/health only reports ok once migrations finish and the web server is up. Give the Railway health check enough time on the first deploy; a few minutes is normal on small instances. Pin a version tag such as v0.63.x rather than latest, so a redeploy doesn't quietly become an upgrade.
After the wizard, connect warehouses (Postgres, MySQL, BigQuery, Snowflake, Redshift, MongoDB) under Admin → Databases. They're separate from the app DB and play no part in migrations.
How does Metabase First Boot compare against other Business Intelligence platforms
How long you wait before your first chart says a lot about each tool. Metabase asks for a few minutes of migrations and a short wizard.
Metabase First Boot vs Power BI (Power BI Alternative)
Power BI has no first boot to babysit, but it has tenant setup, licenses, and gateways instead. It wins on Microsoft-native governance. Metabase wins on transparency: you can watch Liquibase in the logs and fix a stuck run yourself.
Metabase First Boot vs Apache Superset (Apache Superset Alternative)
Superset's first run is a checklist: set a SECRET_KEY, run superset db upgrade, create an admin with superset fab create-admin, then superset init. It rewards you with more chart types and SQL Lab. Metabase folds all of that into one boot and a wizard that takes a couple of minutes.
Metabase First Boot vs Redash (Redash Alternative)
Redash also keeps metadata in Postgres and migrates on setup, but it adds Redis and worker processes, and development has slowed since the Databricks acquisition. It's still lovely for SQL-first teams. Metabase gives non-SQL users a query builder on day one.
Metabase First Boot vs Grafana (Grafana Alternative)
Grafana boots in seconds on its bundled SQLite. It's built for time-series and observability, though, while Metabase thinks in business questions. Pick Grafana for metrics, Metabase for people exploring tables.
How to use Metabase First Boot (the OSS Business Intelligence)?
Once the wizard appears, pick a language, create the admin account, name the organization, and choose whether to share anonymous usage data (you can change it later in Admin settings). You can add your first warehouse right there or skip it.
Upgrades reuse the same machinery. Bump the image tag and Liquibase checks the DATABASECHANGELOG table, applying only what's missing. Back up the app DB first, because rolling back needs the migrate down command from the newer version, not just the old image.
How to self host Metabase First Boot on other VPS Services (Metabase First Boot self hosting guide)
The sequence is the same anywhere; you just own TLS, backups, and lock recovery.
Clone the Repository
You don't need to clone anything to run the image. Clone metabase/metabase at your version tag only if you want to read the migration files.
Install Dependencies
Install Docker and Compose, then give Postgres a dedicated database and a user that can create tables.
Configure Environment Variables
Set MB_DB_TYPE=postgres, the MB_DB_* connection values, a long random MB_ENCRYPTION_SECRET_KEY that never changes, and MB_SITE_URL. Sort TLS before the wizard so invite links are right.
Start the Metabase First Boot Application
Run docker compose up -d and follow the logs. If a previous boot was killed and the next one hangs on a lock, run migrate release-locks with the same image and env, then start again.
Official Pricing of Metabase First Boot (Metabase First Boot pricing)
Metabase OSS is free under the AGPL. Metabase Cloud Starter is about $85 per month plus per-user fees, and Pro costs much more for SSO, row-level security, and interactive embedding. On Railway you pay compute and Postgres only.
Metabase First Boot cloud vs self hosted comparison (Pricing, features, costs, and more)
Metabase Cloud runs migrations, upgrades, and the app DB for you. Self-hosting gives you the same core product and a much smaller bill, as long as someone is comfortable reading logs and taking backups.
Monthly cost of self hosting Metabase First Boot on Railway
A small Metabase service plus Postgres usually runs about $5–15 per month on Hobby, depending on memory and usage. First boot itself costs almost nothing; it's a few minutes of CPU while migrations run.
System Requirements for Hosting Metabase First Boot on a VPS
Plan for at least 1 GB of RAM to test and 2 GB for real use. First boot leans on the database more than the CPU, so slow disks stretch it out. The app DB starts at a few hundred MB and grows slowly.
Frequently Asked Questions (FAQs)
Why does first boot take so long?
Metabase applies its entire migration history to a fresh database, one changeset at a time. Later boots skip what already ran.
What if the container dies mid-migration?
A stale row in DATABASECHANGELOGLOCK can make the next boot wait forever. Run migrate release-locks, then restart.
Can two Metabase versions share one app database?
No. Mixed versions fight over the schema. Give each environment its own database.
How do I know first boot is done?
/api/health returns ok and the setup page loads at your public URL.
Are warehouse databases part of first boot?
No. They're data sources you connect afterward under Admin → Databases.
I forgot the admin password. Now what?
Use forgot-password if email is set up. Otherwise run the reset-password command with the admin's email and open the reset link it prints.
Template Content
metabase/metabase
metabase/metabase