Deploy Metabase on Oracle Cloud's free tier
Self-hosted BI dashboards over your own database, without per-seat pricing.
At a glance
| Base image | metabase/metabase:latest |
|---|---|
| Port | 3000 |
| Start command | java -jar metabase.jar |
| Infrastructure cost | $0 on Oracle Always Free (platform fee for managed DevOps) |
Running Metabase on Ampere ARM
Metabase runs on the JVM and is the most memory-hungry app on this list — give it 2-4 GB. That is comfortable on the 2 OCPU / 12 GB Ampere shape but too much for the AMD micro instance.
Steps
- Use Postgres for the application database. The default H2 database is not safe for production and is hard to back up.
- Cap the JVM heap. Set JAVA_OPTS so Metabase cannot consume the whole instance.
- Restrict access. Put it behind your domain with TLS and enable SSO or strong passwords.
Dockerfile for Metabase on ARM64
# docker-compose.yml
services:
metabase:
image: metabase/metabase:latest
restart: unless-stopped
environment:
MB_DB_TYPE: postgres
MB_DB_HOST: db
MB_DB_PORT: 5432
MB_DB_DBNAME: metabase
MB_DB_USER: metabase
MB_DB_PASS: ${DB_PASSWORD}
JAVA_OPTS: "-Xmx2g"
ports:
- "127.0.0.1:3000:3000"Need one tailored to your repository? The free Dockerfile generator writes an ARM-ready multi-stage build for you.
Common mistakes
- H2 corruption: Migrating off H2 later is painful. Start on Postgres.
- Slow first boot: Initial migrations take a few minutes; set a generous health-check grace period.
- Read access to production data: Create a read-only database user for Metabase.
Related reading
- /guides/self-host-docker
- /oracle-cloud/always-free-arm
- /tools/cloud-cost-calculator
- All deployment guides
Get the Oracle Always Free deploy checklist
One email with the exact steps, capacity workarounds and tools we use to ship apps for $0 of cloud spend.
One email, no spam. Unsubscribe anytime.
Frequently asked
Is the open-source edition enough?+
For dashboards, questions and SQL it usually is; paid editions add advanced permissions and embedding features.
Can it query my app's Postgres on the same VM?+
Yes, over the internal Docker network.
How much RAM should I allow?+
2 GB heap is a reasonable starting point for small teams.
Deploy your project for $0
No credit card. No Oracle sales call. Ship to your own cloud in under 10 minutes.
Start free