Deploy Metabase with the Metabase template
Deploy Metabase with the Metabase template
Stand up Metabase, an open-source BI tool, on a single Quake AI instance using the validated OpenTofu template metabase. You apply the template, complete the setup wizard, connect a warehouse, and build a first dashboard.
Metabase is the analyst-facing layer over a warehouse you already run. This is a self-hosted tool you operate, not a managed BI service.
Monthly cost estimate
Pricing calculator ↗Sized as a custom package on shared vCPU.
Monthly total for the required template above. Use the configurator below to add optional pieces and see the total update.
What each resource is for
Metabase host
s1a.small · 2 shared vCPU, 2 GiB RAM, 0.5 Gbps
Runs Metabase in Docker for self-service BI dashboards and SQL questions against your warehouse.
Metabase with the embedded H2 app database runs on 2 vCPU and 2 GiB RAM. Size up for many concurrent users or when you use an external Postgres app database.
Compute shown per role at custom-package rates ($29/dedicated vCPU, $7.25/shared vCPU, $1/GiB RAM). The headline above is the billed total: the cheaper of a named plan and the custom package, plus add-ons.
Included in baseline
s1a.small
2 shared vCPU, 2 GiB RAM, 0.5 Gbps
Compute + RAM rate basis
2 vCPU + 2 GiB RAM at $29/dedicated vCPU, $7.25/shared vCPU, $1/GiB RAM (regular). Totals apply the flat −$5/mo package promotion.
Block storage (50 GiB)
50 GiB at $0.08/GiB/mo
Public IP (included)
1 included with the custom package
Package promotional discount
Flat −$5.00/mo on the custom package (same promotion as named plans).
Included at no charge
These line items are zero on Quake AI. Many other providers meter them separately.
Data transfer (inbound and outbound)
Unlimited data transfer on every plan; Quake AI does not meter per-GB egress.
AWS, GCP, and Azure meter outbound transfer per GB. DigitalOcean and Hetzner include an allowance on compute plans, then charge overage.
Learn morePrivate networking
Private networks, subnets, Neutron routers, and security groups are included with the plan.
VPC objects are usually free to create elsewhere, but NAT gateways bill hourly plus per-GB processed. Quake AI uses router SNAT with no separate NAT line item.
Control-plane API requests
OpenStack API calls for provisioning and management are included.
Some managed services on other clouds meter API calls or charge for premium control-plane features.
Pricing data last validated: . For current rates, check quake.ai/pricing.
Prerequisites#
You need:
- OpenTofu 1.6.0 or later installed locally.
- Your OpenStack credentials sourced into the shell (
source openrc.sh). See the OpenStack CLI guide. - An SSH keypair that already exists in your project.
- A copy of the
metabasetemplate directory from the template reference page. - Your workstation's public IP address if you plan to open port 3000 for first-boot setup (
curl -sS https://api.ipify.org).
A self-managed PostgreSQL warehouse is optional for this walkthrough but required for real dashboards. Deploy the warehouse first if you do not have one.
Step 1: Set the variables and apply the template#
The UI listens on port 3000 over plain HTTP. The security group restricts port 3000 to editor_allowed_cidr, which defaults to the private network only. To reach the UI from your workstation for setup, set editor_allowed_cidr to your public IP.
cp terraform.tfvars.example terraform.tfvarskey_name = "YOUR_KEY_NAME"
editor_allowed_cidr = "YOUR_IP/32"tofu init
tofu plan
tofu applyWhen the apply finishes, record floating_ip and ui_url from tofu output.
Step 2: Complete the setup wizard#
cloud-init takes a minute or two after the instance reaches ACTIVE. Open ui_url (for example http://YOUR_FLOATING_IP:3000) in your browser.
When the setup screen appears, enter an email, company name, and admin password. Metabase creates the admin account and opens the home screen.
Step 3: Connect a warehouse and save a question#
- Open Admin > Databases > Add database.
- Choose PostgreSQL and enter the private IP, database name, user, and password for your self-managed PostgreSQL warehouse.
- Click Save. Metabase syncs schemas and tables.
- Open New > Question, pick a table, and save a simple count or filter question.
You now have a self-hosted BI layer over a warehouse on Quake AI.
Step 4 (optional): Serve the UI over HTTPS#
Put Caddy or Nginx in front of Metabase on ports 80 and 443, point a DNS A record at the floating IP, and proxy to 127.0.0.1:3000. See How to point a domain at a Quake AI resource.
Tear down#
tofu destroySee also#
Quick answers
- Why does `openstack image save` write a 0-byte file for my boot-from-volume instance?CLI
- Why does `openstack server create` fail with "Only volume-backed servers are allowed for flavors with zero disk"?CLIAPITerraform
- Why does my project still have a 10 GiB Cinder volume after I deleted my instance?CLIAPI
See Also
Instances
Prerequisite
Migrate a Docker container app from AWS to Quake AI
Shares: Docker, Containers
Deploy Airbyte with the airbyte template
Shares: Docker, Containers
Deploy Airflow with the airflow template
Shares: Docker, Containers
Deploy Umami with the analytics-umami template
Shares: Docker, Containers