Table of Contents

Metabase - Getting Started Guide

Metabase is an open-source business intelligence platform that lets you explore data, build dashboards and share insights – without writing SQL. Connect your databases (PostgreSQL, MySQL, MongoDB and others), ask questions through a visual query builder and turn the answers into interactive charts and dashboards.


Step 1 – Verify Metabase Works

Your server’s IP address and root password are shown in the Server Information section on the Overview tab of your server in the client portal. The application settings you entered when ordering, passwords included, are shown in the Metabase Credentials card on the same tab. Open your browser and go to:

https://your.server.ip

HTTPS without a domain. Since January 2026 Let’s Encrypt issues certificates for IP addresses (official announcement), so your server gets a real, browser-trusted certificate on first boot – before you connect any domain. Certificates of this kind are short-lived (about six days) and renew automatically. If your server is not reachable from the internet on port 80 (for example, it sits behind a router), the certificate cannot be issued – in that case use http:// instead.

Metabase is set up automatically when the server is created: the administrator account is created with the email and password you entered during the order. Setup takes about half a minute, and the client portal shows the server as ready when it finishes. Until then the page answers 403 Forbidden – Metabase stays closed to visitors until your administrator account exists. When it loads, you’ll see the Sign in to Metabase page.

If you placed the server behind a VyOS router on a private network, the server has only a private address, so it does not get the IP certificate. Reach Metabase on the private address through a VPN on the router (WireGuard or OpenVPN, on the router’s Configuration tab), or forward ports 80 and 443 to the server on the router’s Configuration tab (Port forwarding). For a trusted HTTPS certificate, point a domain to the router’s public address (Step 3).

Firewall. If you turn on the Firewall for this server in the client portal, allow incoming TCP port 80 in its rules, along with 443 (HTTPS). Certificates renew over port 80 – the IP certificate every few days – and without that rule the certificate expires and the browser starts showing a warning.


Step 2 – Sign In

Metabase login:

  • Email: the Metabase Admin Email you entered during the order
  • Password: the Metabase Admin Password you entered during the order

There is no setup wizard to go through: the administrator account already exists and anonymous usage statistics are turned off. After signing in you land on the Metabase home page – use Add your data to connect a database, or open Examples to explore the sample data first.


Step 3 – Configure Domain and SSL (Optional)

To use Metabase with your own domain and HTTPS:

  1. Create an A record in your DNS settings pointing your domain to the server IP
  2. Wait for DNS propagation (usually a few minutes to a few hours)
  3. Connect via SSH and update the Nginx configuration:
ssh root@your.server.ip

# Update Nginx server_name with your domain
sed -i 's/server_name _;/server_name your-domain.com;/' /etc/nginx/sites-available/metabase
nginx -t && systemctl reload nginx

# Obtain a free Let's Encrypt SSL certificate
certbot --nginx -d your-domain.com

Certbot will automatically configure Nginx for HTTPS and set up certificate auto-renewal.


Post-Installation

Connecting Databases

To add a data source after initial setup:

  1. Click the gear icon (top right) → Admin settings → Databases → Add database
  2. Select the database type (PostgreSQL, MySQL, MongoDB, SQLite, etc.)
  3. Enter the connection details (host, port, database name, credentials)
  4. Click Save – Metabase will sync the schema automatically

For databases on external servers, make sure the firewall allows connections from your Metabase server IP.

Fail2Ban – Brute-Force Protection

Your server comes with Fail2Ban pre-configured to protect SSH from brute-force attacks.

Rule Max Attempts Ban Duration
SSH5 failed logins10 minutes

Useful commands:

# Check banned IPs
fail2ban-client status sshd

# Unban an IP
fail2ban-client set sshd unbanip 1.2.3.4

If you accidentally lock yourself out, open the Console on your server’s Overview tab in the client portal and unban your IP.

Service Management

Metabase runs as a systemd service. Useful commands:

# Check service status
systemctl status metabase

# Restart Metabase
systemctl restart metabase

# View logs
journalctl -u metabase -f

# Nginx reverse proxy
systemctl status nginx
systemctl reload nginx

Updates

To update Metabase to the latest version:

# Stop the service
systemctl stop metabase

# Download the latest JAR (backup the current one first)
cd /opt/metabase
cp metabase.jar metabase.jar.bak
curl -L -o metabase.jar https://downloads.metabase.com/latest/metabase.jar

# Start the service
systemctl start metabase

To update system packages via SSH:

apt update && apt upgrade -y

Backups

Metabase stores all its data (questions, dashboards, settings) in an H2 database. To back it up:

# Stop Metabase before backing up
systemctl stop metabase

# Copy the database file
cp /opt/metabase/metabase.db.mv.db /root/metabase-backup-$(date +%F).db

# Start Metabase again
systemctl start metabase

For production use with large datasets, consider migrating from H2 to PostgreSQL.


Software Included

Component Version
Ubuntu24.04 LTS
Metabase0.64.1
Java21
Nginx1.24
Certbot5.8 (IP address), 2.9 (domain)
Fail2Ban1.0.2

Troubleshooting

Problem Solution
403 Forbidden right after the server is created Metabase opens to visitors only after your administrator account is created – wait a minute and reload. If the Overview tab of your server shows a warning that the application setup did not finish, Metabase rejected the password from the order (for example, as too common): check /opt/setup/setup.log over SSH and reinstall the server with the Rebuild button on its Overview tab in the client portal with a stronger password
Page won’t load after boot Metabase takes 30-60 seconds to start. Wait and refresh. Check status: systemctl status metabase
502 Bad Gateway in browser Metabase is not running. Restart it: systemctl restart metabase. Check logs: journalctl -u metabase --no-pager -n 50
Out of memory errors Metabase requires at least 2 GB RAM. Check with free -h. Consider upgrading your server plan
Cannot connect to external database Verify the database host, port and credentials. Ensure the remote database firewall allows connections from your server IP
Forgot Metabase admin password Reset via SSH: java -jar /opt/metabase/metabase.jar reset-password EMAIL
Blocked by Fail2Ban Use the Console on your server’s Overview tab in the client portal to unban your IP
Forgot root password Use the Console on your server’s Overview tab in the client portal to reset it