Skip to main content

Prerequisites

Before installing Plausible CE, ensure you have:

Docker

Docker Engine 20.10.0 or higher

Docker Compose

Docker Compose v2.0.0 or higher

Domain Name

A domain pointing to your server (for HTTPS)

Server Access

SSH access with root or sudo privileges

Quick Start with Docker

The recommended way to run Plausible CE is using the official Docker image with the Community Edition hosting repository.

Step 1: Clone the Repository

Step 2: Generate Secret Keys

Plausible requires a secret key base for security. Generate one using:
Save this key securely - you’ll need it for the configuration file.

Step 3: Configure Environment Variables

Create a configuration file:
Edit plausible-conf.env with your settings:
plausible-conf.env
Never commit plausible-conf.env to version control - it contains sensitive credentials.

Step 4: Start the Services

1

Start Docker Compose

Launch all services in detached mode:
This starts:
  • Plausible web application
  • PostgreSQL database
  • ClickHouse database
  • Mail server (optional)
2

Create Database

Initialize the database schema:
3

Run Migrations

Apply database migrations:
4

Verify Installation

Check that all containers are running:
All services should show as “running” or “healthy”.

Step 5: Access Your Instance

Open your browser and navigate to your configured BASE_URL. You should see the Plausible registration page.
By default, Community Edition only allows registration via invite. The first user can register directly on initial setup.

Docker Image Details

The official Plausible CE Docker image is built from Alpine Linux:

Image Features

  • Base Image: Alpine Linux 3.22.2
  • Runtime: Elixir 1.19.4 / Erlang 27.3.4.6
  • Build Environment: MIX_ENV=ce
  • Security: Runs as non-root user
  • Size: Optimized for minimal footprint

Advanced Installation Options

Custom Port Configuration

IPv6 Support

To enable IPv6:
TCP connections automatically try IPv6 first with IPv4 fallback in CE.

Running with Arbitrary UID

The container supports running with custom UIDs:

Database Setup

PostgreSQL Configuration

The default configuration uses:
For production, consider:

ClickHouse Configuration

Default ClickHouse connection:

Reverse Proxy Setup

For production deployments, use a reverse proxy like Nginx or Caddy:

Nginx Configuration

Caddy Configuration

Geolocation Database

Plausible includes a basic country-level geolocation database. For city-level data:
1

Get MaxMind License

Sign up for a free MaxMind GeoLite2 account at https://www.maxmind.com
2

Configure License Key

3

Restart Plausible

Plausible will automatically download and update the GeoLite2 database.

Verification

After installation, verify your setup:

Troubleshooting

Check logs for specific errors:
Common issues:
  • Missing or invalid SECRET_KEY_BASE
  • Invalid BASE_URL format
  • Database connection failures
Verify database containers are healthy:
Ensure databases are ready before starting Plausible.
Check:
  • Firewall rules allow traffic on configured port
  • LISTEN_IP is set to 0.0.0.0 or ::
  • BASE_URL matches your access URL
  • Reverse proxy configuration is correct

Next Steps

Configuration

Configure email, integrations, and advanced options

Maintenance

Learn about backups and monitoring