Getting Started with Metabase on Scalingo
Metabase is an open-source Business Intelligence tool that allows you to build dashboards and data visualization from your company data, without writing SQL queries.
Planning your Deployment
-
Metabase requires its own database to store its configuration and some metadata. We usually advise to use a Scalingo for PostgreSQL® Starter or Business 512 addon for this purpose.
-
Depending on several factors such as the amount of data stored in your production database, its load, and the complexity of the Metabase queries you want to run, you may consider duplicating your production data to an additional database dedicated for Metabase use. Doing so would prevent Metabase to have a negative impact on your application’s performances. Our documentation should help you with this additional task.
Deploying
Using our One-Click Deploy Button
Click the One-Click Deploy button below to automatically deploy Metabase with your Scalingo account:
Using the Command Line
We maintain a repository called metabase-scalingo on GitHub to help you deploy Metabase on Scalingo. Here are the few additional steps you will need to follow:
- Clone our repository:
git clone https://github.com/Scalingo/metabase-scalingo cd metabase-scalingo - Create the application on Scalingo:
scalingo create my-metabaseNotice that our Command Line automatically detects the git repository, and adds a git remote to Scalingo:
git remote -v origin https://github.com/Scalingo/metabase-scalingo (fetch) origin https://github.com/Scalingo/metabase-scalingo (push) scalingo git@ssh.osc-fr1.scalingo.com:my-metabase.git (fetch) scalingo git@ssh.osc-fr1.scalingo.com:my-metabase.git (push) - Provision a Scalingo for PostgreSQL® Starter 512 addon:
scalingo --app my-metabase addons-add postgresql postgresql-starter-512 - (optional) Instruct the platform to run the
webprocess type in a single XL container:scalingo --app -my-metabase scale web:1:XL - Everything’s ready, deploy to Scalingo:
git push scalingo master
Using the Terraform Provider
-
Start by forking our Metabase repository
- Place the following block in your Terraform file to create the app:
resource "scalingo_app" "my-metabase" { name = "my-metabase" stack_id = "scalingo-22" force_https = true } - Link the app to your forked repository:
data "scalingo_scm_integration" "github" { scm_type = "github" } resource "scalingo_scm_repo_link" "default" { auth_integration_uuid = data.scalingo_scm_integration.github.id app = scalingo_app.my-metabase.id source = "https://github.com/<username>/metabase-scalingo" branch = "master" } - Provision a Scalingo for PostgreSQL® Starter 512 addon and attach it to your
app:
resource "scalingo_addon" "my-metabase-db" { app = scalingo_app.my-metabase.id provider_id = "postgresql" plan = "postgresql-starter-512" } - (optional) Instruct the platform to run the
webprocess type in a single XL container:resource "scalingo_container_type" "web" { app = scalingo_app.my-metabase.id name = "web" size = "XL" amount = 1 } -
Run
terraform planand check if the result looks good -
If so, run
terraform apply - Once Terraform is done, your Metabase instance is ready to be deployed:
- Head to your dashboard
- Click on your Metabase application
- Click on the Deploy tab
- Click on Manual deployment in the left menu
- Click the Trigger deployment button
- After a few seconds, your Metabase instance is finally up and running!
Updating
By default, Scalingo tries to install the latest version of Metabase.
Consequently, updating Metabase only consists in triggering a new deployment of your instance.
Using the Command Line
- In your Metabase repository, create an empty commit and push it to Scalingo:
git commit --allow-empty -m "Update Metabase" git push scalingo master
Using the Terraform Provider
- Head to your dashboard
- Click on your Metabase application
- Click on the Deploy tab
- Click on Manual deployment in the left menu
- Click the Trigger deployment button
- After a few seconds, your updated Metabase instance is ready!
Customizing
Environment
Metabase supports many environment variables.
Moreover, the buildpack makes use of the following environment variable(s). They can be leveraged to customize your deployment:
-
METABASE_VERSION
Allows to specify the version of Metabase to deploy.
Make sure to prefix the number with the letter v.
Defaults to*.