October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run ScanOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk9 min

How to Self-Host Plausible Analytics on Your Own VPS

Install Plausible Analytics on your own x86_64 VPS with Docker Compose, configure SMTP and HTTPS, preserve visitor IPs, and plan the backups and maintenance that self-hosting requires.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

You can self-host Plausible Analytics with the official Docker-based Community Edition stack on an x86_64 VPS that supports SSE 4.2. The stack runs Plausible, PostgreSQL, ClickHouse, and mail-delivery services; you supply the server, DNS, HTTPS reverse proxy, backups, upgrades, and ongoing operations.

The practical sequence is: provision a compatible VPS, clone the official plausible/hosting repository, configure SECRET_KEY_BASE, administrator credentials, and BASE_URL, start the Docker Compose stack, configure SMTP, and place a reverse proxy in front of Plausible’s HTTP service on port 8000. Self-hosting is worthwhile when infrastructure control and direct data access matter more than avoiding maintenance.

As an Amazon Associate I earn from qualifying purchases.

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.

What self-hosted Plausible includes

Plausible’s Community Edition is designed to be self-hosted via Docker. The official hosting repository provides a Docker Compose deployment for four cooperating parts:

  • Plausible: the web application and analytics interface.
  • PostgreSQL: stores application and account data.
  • ClickHouse: stores and queries analytics events.
  • SMTP integration: sends account emails, including the first-login verification code.

Plausible itself serves unencrypted HTTP. Its server does not terminate SSL, so a separate reverse proxy must handle HTTPS before exposing the service publicly. The normal internal listener is port 8000.

#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.

The installation is intended for a hostname or subdomain whose DNS records you can edit. It is not designed for a subfolder such as example.com/analytics; use a dedicated hostname such as analytics.example.com instead.

Requirements before you install

Compatible server architecture

Choose an x86_64 server with SSE 4.2 support. The official deployment documentation does not present the Community Edition as an ARM installation, so an ARM-only VPS is a poor starting point unless Plausible explicitly documents support for the image version you intend to run.

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

Docker and Compose

Install a current Docker Engine and the Compose implementation supported by your operating system. Confirm that your account can run Docker commands, that containers can restart after a host reboot, and that outbound connections are permitted for image downloads, DNS, and SMTP.

DNS and a hostname

Create an A or AAAA record for the hostname you will put in BASE_URL. You need authority to change that record and to obtain a certificate through your chosen proxy. Do not put a path component in the URL.

Capacity planning

There is no single official minimum for RAM, disk space, or pageviews. Capacity depends on traffic, event volume, retention, ClickHouse growth, concurrent queries, database overhead, and how many backup copies you keep. Start with a VPS that leaves headroom for the operating system, Docker, PostgreSQL, ClickHouse, and temporary migration or backup work. Monitor memory, CPU, disk usage, and query latency, then resize before the host reaches sustained saturation.

Disk planning deserves special attention. ClickHouse data grows with collected events and retention time; PostgreSQL and container logs add additional usage, while backups may require another full copy. Set an alert for both absolute free space and the rate of ClickHouse growth rather than waiting for the filesystem to fill.

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

Install the official Docker Compose stack

1. Prepare the host and repository

  1. Provision the x86_64 VPS and install Docker.
  2. Point your chosen hostname to the VPS and wait for DNS to resolve.
  3. Clone the official plausible/hosting repository and change into the cloned directory. It contains docker-compose.yml and plausible-conf.env.
  4. Restrict shell and file permissions so that only administrators can read the configuration file; it will contain credentials and secrets.

2. Generate and set the secret key

Generate a random 64-character value before the first boot. A local OpenSSL command that produces 64 hexadecimal characters is:

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.
openssl rand -hex 32

Put the result in SECRET_KEY_BASE in plausible-conf.env. Treat it as a permanent encryption secret: store it in your password manager or another protected recovery location, and do not casually replace it on an existing installation.

3. Configure the base URL and administrator account

Edit plausible-conf.env and set the administrator values required by the template supplied in the repository, including the administrator email, name, and password. Set BASE_URL to the complete public URL, including scheme and hostname:

BASE_URL=https://analytics.example.com

An optional port is allowed when your deployment genuinely uses one, but do not append /analytics or any other path. The hostname and scheme in BASE_URL must match the address users actually open through the reverse proxy.

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

Use a long, unique administrator password. Keep the email address accessible because Plausible uses it for verification and account-related messages.

4. Start the containers

From the repository directory, start the stack with:

docker-compose up -d

On the first run, the Compose project downloads the required images, creates PostgreSQL and ClickHouse databases, runs migrations, creates the administrator account, and exposes Plausible on port 8000. Follow the startup output if a container exits, then inspect individual container logs to identify configuration, database, or image-pull errors.

At this stage, keep port 8000 reachable only from the reverse proxy or a trusted administration network. Do not treat the plain HTTP listener as a finished public deployment.

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

Configure email and complete first login

The first-login verification code is delivered by email. Configure an SMTP relay in plausible-conf.env using the SMTP variables documented by the repository, including the relay host, port, username, password, sender address, and encryption requirements applicable to your provider. Restart the affected containers after changing the environment file.

Send a test message and verify both delivery and the sender identity. Common failures include blocked outbound SMTP ports, an incorrect TLS mode, credentials rejected by the relay, and a sender address that the relay does not authorize.

Database verification fallback

If SMTP cannot be configured, Plausible’s self-hosting guide documents a PostgreSQL command that marks users as verified. Use this only as an operational fallback:

  • Run it from a controlled administrative session, not from a public endpoint.
  • Confirm that you are changing the intended account.
  • Restrict database credentials and remove any temporary access afterward.
  • Return to a working SMTP configuration so future account messages are delivered normally.

Bypassing email verification removes a useful account-control check, so it should not become the routine onboarding method.

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

Put HTTPS in front of port 8000

The reverse proxy terminates TLS, serves the certificate, forwards requests to Plausible, and preserves the client address. Point the proxy host at 127.0.0.1:8000 when the proxy runs on the same VPS, or at the private address of the Plausible host when it runs elsewhere.

Set the proxy hostname to the same value used in BASE_URL. Preserve X-Forwarded-For; Plausible uses the forwarded client address for country detection and unique-user calculations. If the proxy overwrites or omits that header, geographic reports and user metrics can be wrong.

Caddy

Caddy is a convenient self-managed option because it can obtain and renew a Let’s Encrypt certificate automatically. Configure the site address as your Plausible hostname and reverse-proxy it to port 8000. Confirm that the resulting forwarded headers include the original client IP.

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.

Nginx

With Nginx, create a server block for the hostname, configure certificate files, and proxy requests to http://127.0.0.1:8000. Pass the original host and client address through the standard forwarding headers, test the configuration, reload Nginx, and verify that WebSocket or long-lived request behavior is not blocked by an overly restrictive proxy policy.

Cloudflare

Cloudflare can provide the public DNS, certificate, and proxy layer. Ensure the proxied hostname resolves to the VPS, select an encryption mode that protects the connection from Cloudflare to your origin, and confirm that the origin proxy still passes the client address in X-Forwarded-For. A Cloudflare edge certificate does not remove the need to secure the origin connection appropriately.

Traefik

Traefik can manage certificates and routing when it is already part of your Docker environment. Define a router for the Plausible hostname, a service targeting port 8000, and a certificate resolver. Verify the forwarded-header configuration and ensure that only the proxy, not the raw application port, is Internet-facing.

Validate the deployment

Work through these checks before adding the tracking script to production sites:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Open the HTTPS hostname and confirm the certificate matches the hostname.
  • Sign in with the administrator account and complete verification.
  • Create a test site in Plausible and install its tracking snippet.
  • Load the test site from a separate network, then confirm that a visitor appears in the live dashboard.
  • Check that the reported country and unique-user behavior are plausible; incorrect results often indicate a lost X-Forwarded-For header.
  • Inspect container logs for repeated database, SMTP, or reverse-proxy errors.
  • Confirm that port 8000 is not directly exposed to the public Internet unless that exposure is an intentional, separately protected design.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Operate and upgrade it safely

Updates are your responsibility

Self-hosted releases are operator-applied. The documented pattern is to stop the stack, pull the newer Plausible image, and start it again. Before changing versions, read the release notes and migration guidance, confirm that your backups are restorable, and schedule a maintenance window appropriate to your traffic.

Plausible characterizes self-hosted releases as LTS-like: changes arrive after hosted features have been battle-tested. That can make upgrades less frequent than the hosted service, but it also means you do not receive the cloud service’s continuous feature delivery automatically.

Back up every stateful component

A recoverable backup plan must include:

  • PostgreSQL data and roles.
  • ClickHouse data, including the retention period you need to preserve.
  • SECRET_KEY_BASE, administrator configuration, and SMTP secrets.
  • The Compose files and any version pins used to recreate the deployment.
  • Reverse-proxy configuration and certificate or DNS settings that are not automatically recoverable.

The official documentation does not prescribe a universal schedule. Choose one from your recovery-point objective, event volume, and acceptable data loss; test restoration on a separate host rather than assuming that a successful backup job is enough.

Monitor the failure points

  • Disk: alert on ClickHouse growth, database files, logs, and backup space.
  • Memory: watch for host swapping and container restarts.
  • CPU and latency: sustained query load can make dashboards slow before the host fails.
  • Availability: monitor both the HTTPS endpoint and the health of PostgreSQL and ClickHouse.
  • Certificates: verify renewal, especially when the proxy is maintained separately from Docker.
  • Email: periodically test delivery so account recovery does not fail silently.

Common problems and fixes

The site redirects to the wrong address

Compare the browser address with BASE_URL. Correct the scheme, hostname, or optional port, remove any path component, and restart the stack after editing the environment file.

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

Users never receive the verification code

Check SMTP credentials, encryption mode, outbound firewall rules, relay logs, sender authorization, and spam filtering. Use the documented database verification fallback only while access is tightly controlled.

Country reports or unique users look wrong

Inspect the reverse-proxy headers. The proxy must preserve the original client address in X-Forwarded-For; otherwise Plausible may see only the proxy’s IP.

Containers fail during first boot

Check that Docker can pull images, that the configuration file has no syntax errors, that the secret and administrator values are present, and that PostgreSQL and ClickHouse volumes are writable. Read the logs for the first failing dependency rather than repeatedly restarting the entire project.

The dashboard becomes slow as data grows

Measure ClickHouse disk, memory, CPU, and query latency. Reduce retention only after confirming the reporting period your organization needs, or resize the VPS and review backup duration. There is no universal pageview threshold at which a particular VPS size is guaranteed to remain adequate.

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.

Self-hosted Plausible versus Cloud

Decision factor Self-hosted Community Edition Plausible Cloud
Infrastructure and location You choose the provider and country and control the underlying infrastructure. Plausible operates the infrastructure.
Recurring cost You pay the VPS, storage, bandwidth, email, and backup costs instead of a Plausible subscription. You pay a Plausible subscription while the service absorbs infrastructure operations.
Operations You handle installation, upgrades, capacity, uptime, security, backups, and troubleshooting. Plausible manages maintenance, backups, security, and capacity.
Data access You can access raw analytics data directly in ClickHouse. Data access is provided through the hosted product and its supported interfaces.
Release cadence Updates are applied by you; self-hosted releases are described as LTS-like and follow battle-tested hosted features. Features and fixes arrive continuously as the hosted service is updated.
Support Community-supported, without a creator guarantee for troubleshooting. Vendor-operated service and support model.

Is self-hosting worth the maintenance?

Choose self-hosting when you need control over infrastructure location, direct access to raw ClickHouse data, or a deployment that avoids a SaaS subscription and you have someone responsible for operations. It is also a sensible fit when your organization already runs Docker, monitoring, backups, DNS, and reverse proxies.

Choose Cloud when analytics must work without assigning ownership for upgrades, uptime, capacity planning, backups, security, and incident response. A small team may spend more in subscription fees but less in engineering time and operational risk.

“You are responsible for installation, maintenance, upgrades, server capacity, uptime, backup and so on.”

That responsibility is the central trade-off. The Docker Compose install is straightforward; keeping the service secure, available, recoverable, and correctly sized is the continuing work.

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

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.

Leave a Reply

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

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.

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
Windows Errors? Fix Them Before They SpreadFree repair scan
Outdated Drivers Are Slowing You DownFree scan - exact matches

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.