Back to all templates
Matomo logo

Matomo

Application1024MB+ RAM

Privacy-respecting web analytics platform

analyticsprivacyenterprise

Deploy Matomo in 3 Steps

1

Connect Your VPS

Add your server credentials to Server Compass

2

Select Matomo

Choose from our template library

3

Deploy & Configure

Fill in settings and click Deploy

No Docker knowledge required
Step-by-step deployment guide

Deploy Matomo on a VPS with Server Compass

Use the Matomo template in Server Compass to deploy a self-hosted open-source web analytics platform with persistent Fathom SQLite data volume on your VPS, then verify the Matomo web UI in a browser.

About 7 minutesBrowser verified
1
Step 1

Open the server Apps tab

Select your VPS, open the Apps tab, and start a new app deployment. Keep sensitive server details hidden before capturing or sharing screenshots.

Server Compass Apps tab before creating a Matomo app
2
Step 2

Choose an app template

Click New App and choose the template deployment path so Server Compass can load the built-in catalog.

Choosing to deploy an app from a Server Compass template
3
Step 3

Search for Matomo

Use the template picker search to find Matomo in the Server Compass template catalog.

Searching for Matomo in the Server Compass template picker
4
Step 4

Select the Matomo template

Choose the Matomo template. Server Compass fills the Matomo image, host port, published server URL, and persistent Fathom SQLite data volume.

Matomo template selected in Server Compass
5
Step 5

Review the Matomo settings

Confirm the app name and compose services. In this run, the app was named matomo-demo and used host port 8080.

Reviewing Matomo project settings and compose services
6
Step 6

Deploy Matomo

Review the generated environment values, confirm the port is available, and click Deploy Now.

Reviewing Matomo environment variables and port before deployment
7
Step 7

Watch the deployment progress

Keep the deployment modal open while Server Compass uploads the compose file, pulls the Matomo image, starts the container, and verifies the stack.

Server Compass deploying the Matomo template on the VPS
8
Step 8

Confirm Matomo is running

After deployment finishes, return to the Apps tab and confirm the Matomo app is marked Running with its application URL available.

Matomo template running in the Server Compass Apps tab
9
Step 9

Open Matomo in the browser

Open the application URL in a browser. The Matomo web UI confirms the site is reachable.

The deployed Matomo web UI loaded in a browser

After Matomo Opens

  • Complete the Matomo installer, create the administrator account, and add tracked websites before production use.
  • Configure site tracking snippets, HTTPS, email, and user access before production use.
  • Add a domain and HTTPS before exposing the analytics dashboard to users.
  • Back up the Matomo and MariaDB volumes before relying on it for production analytics.

Verified Result

The Matomo web UI loaded successfully in a browser.

Matomo deployment questions

What does the Matomo template deploy?

It deploys Matomo with MariaDB plus persistent application and database volumes.

Which port did the tutorial use?

The tutorial used host port 8080, which maps to the Matomo web server on container port 80.

Why does the guide stop at the first-run web UI?

The tutorial verifies the clean first-run web UI because real library paths, users, metadata providers, and remote access settings depend on the production server.

Should this become a blog post?

No. The deployment guide should live on the Matomo template detail page and be linked from the reusable template deployment docs page.

CLI Deployment

Deploy Matomo Yourself

Want full control? Here's how to deploy Matomo yourself using Docker Compose.

1

Establish SSH Connection

Connect to your remote server using SSH. Make sure you have your server credentials ready.

terminal
# Log into your server
ssh root@<your-server-ip>

# If using key-based auth
ssh -i ~/.ssh/my-key root@<your-server-ip>

First time? Docker not installed? Run: curl -fsSL https://get.docker.com | sh

2

Create Project Directory

Set up a directory to store your Docker configuration.

terminal
# Create and navigate to project directory
mkdir -p ~/apps/matomo
cd ~/apps/matomo
3

Configure Docker Compose

Add this configuration to your docker-compose.yml file:

docker-compose.yml
services:
  matomo:
    image: matomo:latest
    ports:
      - "8080:80"
    environment:
      - MATOMO_DATABASE_HOST=db
      - MATOMO_DATABASE_DBNAME=matomo
      - MATOMO_DATABASE_USERNAME=matomo
      - MATOMO_DATABASE_PASSWORD=<your-db-password>
    volumes:
      - matomo_data:/var/www/html
    restart: unless-stopped
    depends_on:
      db:
        condition: service_healthy

  db:
    image: mariadb:11
    environment:
      - MARIADB_ROOT_PASSWORD=<your-db-root-password>
      - MARIADB_DATABASE=matomo
      - MARIADB_USER=matomo
      - MARIADB_PASSWORD=<your-db-password>
    volumes:
      - mariadb_data:/var/lib/mysql
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "healthcheck.sh --connect --innodb_initialized"]
      interval: 10s
      timeout: 5s
      retries: 5

volumes:
  matomo_data:
  mariadb_data:
Required Settings
PORTHost port(default: 8080)
DB_PASSWORDDB password
DB_ROOT_PASSWORDRoot password
4

Start the Services

Execute the deployment and check the container status.

terminal
# Deploy the application
docker compose up -d

# Check container health
docker compose ps

# Monitor logs
docker compose logs -f --tail=100
5

Allow Incoming Connections

Enable network access by updating your firewall rules.

terminal
# Allow the application port through firewall
sudo ufw allow 8080/tcp
sudo ufw reload

# Access your app at:
# http://your-server-ip:8080
Skip the Terminal

Too complicated? Let Server Compass handle it.

Skip the terminal and deploy Matomo with a visual interface. Configure everything with clicks, not commands.

  • Intuitive dashboard
  • Deploy in 3 minutes
  • Free SSL included
  • Blue-green deploys
  • Real-time logs
  • Version history
Download Server Compass$29 one-time • Lifetime license

After Deployment

After deploying Matomo with Server Compass, complete these steps to finish setup

1

Complete installation wizard

2

Add websites to track

3

Install tracking code

Need help? Check out our documentation for detailed guides.

Matomo FAQ

Common questions about self-hosting Matomo

How do I deploy Matomo with Server Compass?

Simply download Server Compass, connect to your VPS, and select Matomo from the templates list. Fill in the required configuration and click Deploy. The entire process takes under 3 minutes.

What are the system requirements for Matomo?

Matomo requires a minimum of 1024MB RAM. We recommend a VPS with at least 2048MB RAM for optimal performance. Any modern Linux server with Docker support will work.

Can I migrate my existing Matomo data?

Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard Matomo backup and restore procedures.

How do I update Matomo to the latest version?

Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest Matomo image will be pulled and deployed with zero downtime.

Is Matomo free to self-host?

Matomo is open-source software. You only pay for your VPS hosting (typically $5-20/month) and optionally Server Compass ($29 one-time). No subscription fees or per-seat pricing.

Ready to Self-Host Matomo?

Download Server Compass and deploy Matomo to your VPS in under 3 minutes. No Docker expertise required.

Download Server Compass