
1. Introduction: Why Install Metabase Locally?
Metabase is a popular open-source tool for data visualization and business intelligence, allowing users to query, visualize, and share insights easily. Installing it locally is helpful for developers and data engineers to test configurations, evaluate Metabase’s features offline, and ensure compatibility with data sources before deploying to a production environment. Setting up Metabase locally also helps simulate various workflows without impacting shared environments, especially valuable for prototyping and training.
2. Installing Metabase Using Docker
Using Docker to install Metabase is a common choice due to its straightforward setup and isolation from the host environment.
Install Docker
Ensure Docker is installed. If not, download it from Docker’s official site and follow the installation instructions.
Pull the Metabase Docker Image
docker pull metabase/metabase
Run the Metabase Container
docker run -d -p 3000:3000 --name metabase metabase/metabase
This command runs Metabase as a background process, mapping it to port 3000. Access Metabase by visiting http://localhost:3000
in your browser.
Configuration
On the first visit, set up an admin account, connect to a database (optional), and customize basic settings.
3. Language-Specific Installation Options
Metabase also offers an installation method that suits a variety of environments and programming languages.
Python (pip) – Indirect Usage
Metabase isn’t available directly via pip
, but you can use the metabase-api
Python client to interact with Metabase.
Install metabase-api
Client
pip install metabase-api
Basic Usage
from metabase_api import MetabaseApi
mb = MetabaseApi("http://localhost:3000", "your-username", "your-password")
While Metabase itself doesn’t run through pip
, this client library is handy for automating data queries or administrative tasks.
Node.js (npm) – Indirect Integration
Similar to Python, Node.js doesn’t run Metabase directly, but you can access its API for integration.
Install axios
for API Requests
npm install axios
Basic Usage
const axios = require('axios');
async function queryMetabase() {
const res = await axios.post('http://localhost:3000/api/session', {
username: 'your-username',
password: 'your-password'
});
console.log(res.data);
}
queryMetabase();
Ruby (gem) – Metabase API Client
For Ruby, you can use the httparty
gem to interact with Metabase’s API, though Metabase itself isn’t installed as a Ruby gem.
Install httparty
gem install httparty
Connect to Metabase
require 'httparty'
response = HTTParty.post('http://localhost:3000/api/session', {
body: {
username: 'your-username',
password: 'your-password'
}.to_json,
headers: { 'Content-Type' => 'application/json' }
})
puts response.body
Java (Maven/Gradle) – Working with Metabase APIs
While you cannot run Metabase through Java’s Maven or Gradle, you can access its API for automated tasks.
Add Dependencies
Maven
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.9.3</version>
</dependency>
Gradle
implementation 'com.squareup.okhttp3:okhttp:4.9.3'
Connect to Metabase
import okhttp3.*;
OkHttpClient client = new OkHttpClient();
RequestBody body = RequestBody.create(
"{\"username\":\"your-username\",\"password\":\"your-password\"}",
MediaType.parse("application/json")
);
Request request = new Request.Builder()
.url("http://localhost:3000/api/session")
.post(body)
.build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
4. Summary: Managing and Verifying Your Installation
- Verifying Metabase: After installation, confirm it’s running by visiting
http://localhost:3000
. You should see the Metabase login or setup screen. - Container Management (Docker): For Docker-based installations, use commands like
docker ps
to check if the container is running, anddocker logs metabase
to view logs if issues arise. - Regular Updates: Periodically update the Docker image with
docker pull metabase/metabase
to keep Metabase up-to-date with the latest features and security patches.
This guide should provide a smooth starting point for installing and managing Metabase locally, allowing you to explore its functionality in a controlled environment before deploying to production.
Last Releases
- v0.54.9.4url-encode parameters substituted into link and iframe cards (#58429)… Source: https://github.com/metabase/metabase/releases/tag/v0.54.9.4
- v0.53.16.3cross versions tests: skip @oss tests and use prod build for the FE (… Source: https://github.com/metabase/metabase/releases/tag/v0.53.16.3
- v0.54.9.3Co-authored-by: Edward Paget edpaget@users.noreply.github.com Source: https://github.com/metabase/metabase/releases/tag/v0.54.9.3