Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run ScanHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk12 min

How to Self-Host Matomo Analytics on Your Own VPS

Install Matomo On-Premise on a VPS with the right PHP and database stack, scheduled report archiving, persistent Docker storage, backups, and privacy settings for responsible analytics.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

You can run Matomo On-Premise on a VPS you control instead of sending analytics data to a third-party service. A production installation consists of a web server, PHP, MySQL or MariaDB, HTTPS, a separate Matomo database, browser tracking code, and scheduled cron-based report archiving. Start with Matomo’s published resource guidance, then adjust for page views, retention, plugins, and the number of people opening reports.

What self-hosted Matomo includes

Matomo On-Premise is free to download and runs on infrastructure that you administer. The application stores visits, goals, events, reports, and configuration in your own database. A typical deployment uses a subdomain such as analytics.example.com, points that name to your VPS, and serves Matomo through a web server with a valid TLS certificate.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The basic stack has four operational parts:

  • Web server: receives browser requests for the Matomo interface and tracking endpoint.
  • PHP runtime: executes Matomo and its required extensions.
  • MySQL or MariaDB: stores configuration and analytics data.
  • Cron or systemd scheduling: archives reports in the background so users do not trigger expensive calculations while viewing dashboards.

Self-hosting gives you control over the database location, retention policy, network access, and backups. It does not automatically make a measurement program lawful or anonymous; those outcomes depend on configuration and your legal basis for collecting data.

Choose VPS capacity before installing

Matomo’s published figures are starting points, not guarantees. Retention duration, plugin count, report complexity, concurrent dashboard users, bot traffic, and the frequency of archival jobs can move the requirement substantially.

#1 Best Overall
Sale
TOZO A1 Wireless Earbuds Bluetooth 5.3 Light Weight in Ear Headphones | IPX5 Waterproof,2 Mics for AI Calls,Immersive Premium Sound Bass Headset with Charging Case,32 EQ via App Black
  • [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
  • [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
  • [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
  • [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
  • [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
Workload Application and database arrangement CPU Memory SSD
Small installation Single VPS baseline 2 CPUs 2 GB RAM 50 GB
About 1 million page views per month Single-server recommendation 4 CPUs 8 GB RAM 250 GB
About 10 million page views per month Separate application and database capacity Matomo recommends separating application and database resources; exact figures depend on workload.

The 1-million-page-view figures are Matomo’s guidance for roughly that monthly volume, not a performance guarantee for every site. A database with two years of detailed logs needs more storage than one retaining only a few months. Leave free space for indexes, temporary tables, upgrades, and backup staging rather than sizing the disk to the data total alone.

When one VPS is enough

A single machine is reasonable when traffic is modest, report users are few, and a short maintenance window is acceptable. Keep the operating system, Matomo files, database, and scheduled jobs on the same host, but still separate database credentials and backup destinations.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Signals that you have outgrown it

  • Archiving consumes most of the day or overlaps with the next scheduled run.
  • Dashboard requests compete with database writes and become consistently slow.
  • Memory pressure causes the database or PHP workers to be killed.
  • Disk growth leaves too little room for indexes, upgrades, or a restore operation.
  • You need independent maintenance or availability for the web tier and database.

At higher volumes, move the database to dedicated capacity, add application servers, and put a load balancer in front of them. A CDN can help deliver static interface assets, but it does not replace database and archiving capacity.

Prepare the domain, operating system, and access

Use a dedicated hostname

Create a DNS record such as analytics.example.com pointing to the VPS address. Use a hostname rather than an IP address so HTTPS certificates, future migration, and reverse-proxy rules remain manageable. Confirm that the record resolves from the networks where administrators will use Matomo.

Start with a supported Linux image

Select a distribution that receives security updates and that you can administer through SSH. Create a non-root administrative account, use key-based authentication, and disable password SSH login after verifying that the key works. Keep an emergency console or provider recovery method available before changing SSH settings.

Set basic firewall boundaries

  • Allow SSH only from trusted administration networks where practical.
  • Expose HTTP and HTTPS for certificate issuance and web traffic.
  • Do not expose MySQL or MariaDB to the public internet; bind it to localhost or a private network.
  • Permit outbound connections needed for operating-system and Matomo updates.

Synchronize system time, configure automatic security updates when your operational process permits them, and monitor disk, memory, and CPU usage from the beginning. Monitoring is most useful when it records the baseline before traffic arrives.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Install the web and database stack

Web server and PHP

Install your chosen web server, the latest PHP 8.x release supported by your distribution, and every PHP extension listed by the Matomo system checker. Matomo recommends the latest PHP 8.x release for efficiency and speed. Do not assume a generic PHP package includes database drivers, XML handling, multibyte strings, image processing, or archive support; let the installer’s system-check page identify missing modules.

Rank #2
Sale
Smart Watch for Men Women Compatible with iPhone Samsung Android Phone 1.69 inch Full Touch Screen IP68 Waterproof Bluetooh Fitness Tracker Heart Rate/Sleep Monitor (Black)
  • 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
  • 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
  • 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
  • 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
  • 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.

Set PHP limits deliberately for your workload. Upload size, execution time, memory limit, and the number of PHP workers affect installation, plugin operations, and administrative screens. Increase a limit only when a documented operation requires it, and record the change so an upgrade does not silently revert it.

MySQL or MariaDB

Use MySQL 8 or newer, or a current MariaDB release supported by Matomo. Create a database dedicated to Matomo and a separate database user with privileges only on that database. Generate a long, unique password and store it in a password manager or secrets system rather than in shell history or shared notes.

Keep the database on a private interface. If you later move it to another host, allow connections only from the Matomo application network and require encrypted transport when traffic leaves the local machine.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Filesystem ownership

Place Matomo in a web root dedicated to the analytics hostname. The web-server account needs the permissions Matomo documents for configuration, temporary files, and uploads; the rest of the code should not be broadly writable. Excessive write permission makes a compromised plugin or web process more dangerous.

Download Matomo and complete the installer

Obtain the current On-Premise package from Matomo’s official distribution channel, verify the archive using the checks provided with that release, and extract it into the analytics virtual host. Keep the package outside unrelated websites and do not mix files from different Matomo versions.

  1. Point the web server’s document root at the Matomo directory and configure the hostname.
  2. Open the hostname in a browser. Matomo runs a system check before allowing installation to continue.
  3. Resolve every required PHP extension, writable-directory, database, and configuration error shown by the checker.
  4. Enter the database host, database name, dedicated username, and password you created. Use a private database address rather than a public endpoint.
  5. Create the Matomo super-user with a unique password and an address that can receive account notifications.
  6. Add the first website, including its name and canonical URL. Matomo then displays the JavaScript tracking snippet for that property.
  7. Save the generated configuration and confirm that the installer reports a completed setup.

After setup, remove or lock down installer access as Matomo advises, protect the configuration file from download, and ensure directory listings are disabled. Keep administrative URLs behind HTTPS and, where feasible, an IP allowlist or VPN.

Enable HTTPS and protect administration

Issue a certificate for the analytics hostname and redirect HTTP to HTTPS. Tracking requests and administrator logins can contain identifiers and credentials; sending them over plain HTTP exposes them to interception and can cause browsers to block requests from secure websites.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
New Bee Guitar Cable 10ft Electric Instrument Bass AMP Cord
  • [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
  • [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
  • [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
  • [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
  • [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
  • Enable secure cookies and verify that the login session remains secure after a redirect.
  • Use modern TLS settings supplied by your web server or certificate automation.
  • Apply a restrictive content-security policy only after testing Matomo’s interface and any approved plugins.
  • Require strong administrator passwords and enable two-factor authentication where your Matomo version and chosen method support it.
  • Keep the operating system, PHP, web server, database, Matomo core, and plugins patched.

Do not place the database port, PHP-FPM socket, or administrative database tools on the public interface. Review web-server access logs for unexpected requests and protect those logs as carefully as the Matomo database.

Add tracking and verify data flow

Install the JavaScript tag

Copy the tracking tag generated for each Matomo site into the page template, normally just before the closing </body> tag. If you manage several domains, create a Matomo site for each property or use the cross-domain configuration appropriate to your measurement plan. Avoid copying a tag from one property into another; the site identifier in the script determines where visits are stored.

Test before tuning reports

  1. Load a page containing the tag in a private browser window.
  2. Open Matomo’s real-time visitor view and confirm that the visit appears.
  3. Inspect the browser’s network panel for a successful request to the Matomo tracking endpoint.
  4. Check the web-server log and database growth if real-time data does not arrive.
  5. Test consent and opt-out behavior on a device with cookies cleared, not only on an already-consented browser.

A missing visit can result from an incorrect site ID, a blocked script, a content-security policy, ad-blocking software, mixed-content errors, or consent logic that never releases the tag. Fix collection first; report configuration cannot recover a request that was never sent.

Schedule cron-based report archiving

Report archiving is part of a production Matomo deployment. Matomo’s documentation warns that without cron, it recalculates statistics whenever someone opens a report, slowing page loads and increasing database load.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How archiving changes behavior

The scheduled job processes raw visits into period reports before users request them. Dashboard views can then read prepared data instead of repeatedly scanning detailed logs. Schedule the job during a period that leaves enough CPU, memory, and database capacity for normal tracking.

Set up the scheduler

  1. Identify the operating-system user that owns or can safely execute Matomo’s console command.
  2. Use the Matomo installation’s documented console archiving command rather than running an arbitrary web request.
  3. Create a cron entry or systemd timer at the interval Matomo recommends for your version and traffic pattern.
  4. Send output and errors to a protected log, and alert when the command exits unsuccessfully.
  5. Run one archive manually, confirm that the reports update, and then let the scheduler run automatically.

Do not run overlapping archive jobs. If one run takes longer than the interval, lengthen the interval, reduce the report workload, or add capacity before launching parallel workers.

Deploy with Docker when containers fit your operation

Matomo publishes an official Docker image and documents a Compose-style arrangement with separate application, database, and cron services. Containers can make repeatable deployments and upgrades easier, but they do not remove the operational duties of storage, patching, backup, and access control.

Rank #4
BSIMB 15.6" Digital Family Calendar & Chore Chart, No Subscription Fees
  • Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
  • Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
  • All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
  • Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
  • Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.

Persist the state that matters

  • Mount the Matomo configuration outside the container filesystem.
  • Persist the plugins and any uploaded assets that must survive image replacement.
  • Persist the database volume on reliable storage with enough free space for growth.
  • Store backups outside the VPS or outside the failure domain of the host.

Keep the public surface small

Expose only a reverse proxy or web server publicly. Keep the database and cron services on an internal container network. Pin image versions instead of tracking an unreviewed latest tag, test upgrades against a backup, and document the exact image, environment variables, volume paths, and restore procedure.

Container isolation is not a substitute for host hardening. Patch the host kernel and container runtime, restrict management sockets, protect environment files containing database credentials, and monitor volume usage.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Configure privacy for GDPR-sensitive analytics

Matomo can support privacy-conscious measurement, but compliance depends on your purpose, jurisdiction, consent design, and retention decisions. Matomo notes that IP addresses can be personal data under GDPR, so treat an unconfigured installation as a personal-data system.

Minimize what you collect

  • Enable IP masking or full anonymisation before production collection.
  • Collect cookies only when they are necessary for the measurement plan and lawful in your jurisdiction.
  • Use User IDs only when you have a documented purpose and legal basis; do not send account identifiers by default.
  • Turn on geolocation or detailed referrer data only when the resulting precision is needed.
  • Do not place names, email addresses, order notes, or other direct identifiers in page URLs, event labels, or custom dimensions.

Consent, notice, and opt-out

Matomo’s consent guidance states that consent may be required in some situations. Decide whether your operation requires prior consent, which features are blocked until consent, and how a visitor can withdraw it. Publish a privacy notice that identifies the controller, purposes, categories of data, retention, rights, and the way to contact you. Provide an opt-out mechanism that works independently of the analytics cookie.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Retention and server logs

Matomo recommends retaining detailed raw visitor logs for only three to six months for privacy reasons, subject to your operational requirements. Configure automatic deletion or an equivalent scheduled process and document any longer retention needed for security, accounting, or legal obligations.

IP masking in Matomo does not erase a full address that may already be present in the web-server or reverse-proxy logs. Rotate those logs, restrict access, set their own retention period, and include them in your privacy review. Backups also contain personal data; encrypt them, limit access, and apply a deletion schedule.

Legal review

Technical settings cannot determine your lawful basis. Obtain jurisdiction-specific advice about consent, legitimate interest, cross-border access, employee monitoring, and data-subject requests. Build a process to export or delete a person’s data when your legal obligations require it.

Backups, updates, and recovery

Back up more than the database

  • Take consistent database backups and test restoring them to an isolated environment.
  • Back up Matomo configuration, approved plugins, and uploaded assets.
  • Keep at least one encrypted copy off the VPS and protect backup credentials separately.
  • Record the Matomo version, PHP version, database version, and deployment settings with each backup set.

A backup that has never been restored is an assumption, not a recovery plan. Define how much data you can lose and how long the service may be unavailable, then choose backup frequency and storage accordingly.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Upgrade in a controlled order

  1. Read the release notes and confirm PHP and database compatibility.
  2. Take and verify a fresh backup.
  3. Test the upgrade on a staging copy when the site is business-critical.
  4. Update Matomo and plugins through the supported mechanism, then run the system check.
  5. Verify login, tracking, real-time visits, scheduled archiving, and key reports.
  6. Keep a rollback plan until the first complete archive and reporting cycle succeeds.

Troubleshoot common failures

The installer reports missing requirements

Read the exact failed check, install the corresponding PHP extension or database capability, restart the relevant service, and rerun the checker. A package installed for one PHP version may not be loaded by the version used by the web server, so compare the command-line and web-server PHP configurations.

Real-time visits are absent

Confirm the tag is present in the rendered page, the site ID is correct, HTTPS is valid, and the browser request reaches the Matomo hostname. Check consent gates, content-security policy, reverse-proxy rules, and server logs. Test from a clean browser because extensions can block tracking requests.

Reports are slow

Check whether cron is running and whether archive jobs finish. Look for database locks, insufficient memory, a nearly full disk, and plugins that add expensive dimensions. Reduce unnecessary retention or plugin work before increasing concurrency.

The database fills the disk

Measure growth by table and by date, then apply the documented log-deletion policy. Do not delete tables manually while Matomo is running. Increase storage only after confirming that retention, backups, temporary space, and indexes all fit the new capacity.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A Docker redeploy loses settings

The required configuration or database volume was probably stored inside an ephemeral container. Stop the stack, restore the persistent volumes from backup, pin the intended image version, and document volume mappings before redeploying.

Decide whether self-hosting is right for your site

Self-hosted Matomo suits teams that need direct control of analytics storage, network location, retention, and customization and that can maintain a Linux server. A managed service may be a better operational choice when you cannot patch systems, monitor jobs, test restores, or respond to security incidents.

Make the decision using these criteria:

  • Monthly page views and expected growth.
  • How long detailed visitor data must be retained.
  • Required report latency and number of concurrent users.
  • Recovery-point and recovery-time objectives.
  • Staff skill for Linux, PHP, databases, Docker, and privacy operations.
  • Whether your organization can provide a lawful basis, consent controls, notices, deletion, and access handling.

For a small site, begin with Matomo’s 2-CPU, 2-GB RAM, 50-GB SSD baseline, enable HTTPS, configure privacy before collecting production data, and schedule archiving immediately. Reassess capacity from measured CPU, memory, database, archive duration, and disk trends rather than from page views alone.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.