Plausible Analytics is a simple, open-source, lightweight (< 1 KB) and privacy-friendly alternative to Google Analytics. Plausible is trusted by 10,000+ paying subscribers to deliver their website and business insights.
This template makes it trivial to deploy an instance of Plausible Analytics with all of it's required services on Railway.
See the Plausible Analytics docsite for a more in-depth explanation of its feature set.
- Click the "Deploy on Railway" button above, or click here
- Follow the setup steps in Railway
- For information on the "optional" variables in the template, see "Optional Variables" below.
- Monitor your services as they come up
- If the Plausible Analytics service is provisioned before the ClickHouse service, you have to re-set the environment variables that reference the ClickHouse service.
- Once the ClickHouse service is up, navigate to the Plausible Analytics service, and select the "Variables" tab.
- Find and click the "edit" button on the
CLICKHOUSE_DATABASE_URL
environment variable. - Re-save the variable without changing the contents.
- This should trigger a redeploy with the proper environment variables.
- If the Plausible Analytics service is provisioned before the ClickHouse service, you have to re-set the environment variables that reference the ClickHouse service.
- Setup your websites with Plausible analytics
- Navigate to the domain for your Plausible Analytics service.
- Follow the prompts to create an account on the service
- Follow the prompts to set up tracking on your website.
- For more information on how to use Plausible, check their site.
There are several "optional" environment variables for this template. This variables aren't needed to get Plausible Analytics running on Railway, but they add some niceties.
- SMTP Mailer Setup: these optional values enable your Plausible Analytics instance to send you emails. These can be weekly updates, or timely notifications if your site is getting a spike in traffic. You can read more about these settings on Plausible Analytics docsite here.
MAILER_EMAIL
: This is the email that all outgoing emails will come from (i.e. analytics@yoursite.com)MAILER_NAME
: This is the name that all outgoing emails will come from (i.e. Plausible Analytics for YourSite.com)SMTP_HOST_ADDR
: The host address of the SMTP server you'd like Plausible Analytics to use to send emails (i.e. send.mailserver.com)SMTP_HOST_PORT
: The port you'd like to use withSMTP_HOST_ADDR
to send emails (i.e. 25, 225)SMTP_USER_NAME
: If your SMTP server of choice uses authentication, put the username here (i.e. smtp_user, admin@send.mailserver.com)SMTP_USER_PWD
: If your SMTP server of choice uses authentication, put the password hereSMTP_HOST_SSL_ENABLED
: If your SMTP server support TLS encrypted traffic, enable it here (i.e true, false)
This template is made up of three "services":
- Plausible Analytics: the primary application.
- The Plausible Analytics service is what you'll primarily be interacting with as a user. The service exposes a web application that users log in to, view analytics on, setup new sites with, change settings in, etc.
- Plausible Analytics is run via a Docker image the Plausible Analytics team publishes to DockerHub. Railway makes deploying images from DockerHub very easy.
- ClickHouse Database: the analytics database.
- ClickHouse is used to store Analytics data for Plausible Analytics. ClickHouse's architecture makes analytics data more efficient to query than PostgreSQL does, especially as data scales. This is likely why Plausible Analytics uses it for Analytics data. (PostHog has a great article on this if you're interested in learning more.)
- ClickHouse is run via a custom dockerfile, some custom ClickHouse config to tune things up for Railway, and a
railway.json
file to define deployment configuration for the service.
- PostgreSQL Database: the users, settings, and metadata database
- PostgreSQL is used to store user data, settings, and metadata for Plausible Analytics.
- PostgreSQL is ran as one of Railway's one-click database services and is just a standard PostgreSQL database.
If you'd like to customize your instance of Plausible Analytics, I would recommend reviewing the documentation for both ClickHouse DB, and Plausible Analytics. Here are some links to get you started:
If you experience any issues or have any feedback at all, you can create a GitHub issue here
- When the Plausible Analytics service is provisioned before the ClickHouse service, you have to re-set the environment variables that reference the ClickHouse service.
- Once the ClickHouse service is up, navigate to the Plausible Analytics service, and select the "Variables" tab.
- Find and click the "edit" button on the
CLICKHOUSE_DATABASE_URL
environment variable. - Re-save the variable without changing the contents.
- This should trigger a redeploy with the proper environment variables.