Jan. 19, 2023 1 min read

Plausible proxy for fly.io using NGINX️


NGINX is a very efficient forward proxy and the ideal tool for this job.

The goal is to set up a proxy in front of Plausible that consumes very little memory.

You can find the code below as repo, ready to deploy.

The Dockerfile is pretty basic:

FROM nginx
COPY nginx.conf /etc/nginx/nginx.conf
RUN mkdir -p /var/cache/nginx

CMD ["nginx", "-g", "daemon off;"]

We need to fetch the tracking script from Plausible:

    location = /js/script.js {
        # Change this if you use a different variant of the script
        proxy_pass https://plausible.io/js/script.js;
        proxy_set_header Host plausible.io;

And forward requests to the event endpoint:

    location = /api/event {
        proxy_pass https://plausible.io/api/event;
        proxy_set_header Host plausible.io;

NGINX sits at around 30MB-50MB memory for my workloads.

It should easily fit onto a 256MB VM.