Self-hosted apps

    Deploy Metabase on Oracle Cloud's free tier

    Self-hosted BI dashboards over your own database, without per-seat pricing.

    At a glance

    Base imagemetabase/metabase:latest
    Port3000
    Start commandjava -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

    1. Use Postgres for the application database. The default H2 database is not safe for production and is hard to back up.
    2. Cap the JVM heap. Set JAVA_OPTS so Metabase cannot consume the whole instance.
    3. 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

    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