Skip to content

Observability for your Supabase project, using Prometheus/Grafana

License

Notifications You must be signed in to change notification settings

rylincoln/supabase-grafana

 
 

Repository files navigation

supabase-grafana

Observability for your Supabase project, using Prometheus/Grafana, collecting ~200 metrics:

./docs/supabase-grafana.png

Getting started

To run the collector locally using Docker Compose:

Create secrets

Create an .env file:

cp .env.example .env

Fill it out with your project details. You'll need your project ref and service role key, which you can find here. Alternatively, to monitor multiple projects you'll need to create an access token here.

Run with Docker

After that, simply start docker compose and you will be able to access Grafana:

docker compose up

Access the dashboard

./docs/supabase-grafana-prometheus.png

Visit localhost:8000 and login with the credentials:

  • Username: admin
  • Password: [the password in your .env file]

Deploying

Deploy this service to a server which is always running to continuously collect metrics for your Supabase project.

Using Fly.io

You can run the collector on a free instance of Fly.io

Follow these steps:

  1. Make sure you have the Fly CLI installed, and you are logged in.
  2. Run fly launch to deploy the app to Fly.
  3. Copy your .env file to your Fly project: fly secrets import < .env
  4. After a successful deployment, your app will be available at https://<your-app-name>.fly.dev

Using Caprover for self-hosting

You can also run the collector on your own server using Caprover.

Follow these steps:

  1. Create a new app on Caprover with persistent data.
    Optional:
    • Set container http port to 8080.
    • Enable HTTPS and force redirect.
  2. Copy your .env file to your Caprover app configuration.
  3. Add persistent storage for the /data directory.
  4. Deploy the app.

About

Observability for your Supabase project, using Prometheus/Grafana

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 59.4%
  • Dockerfile 33.5%
  • Smarty 7.1%