All layers

Supabase

BackendOfficial

@plutocms/supabase

A Supabase backend. The database, the sign-in, the users, and the roles of the admin.

$npm install @plutocms/supabase

The Supabase layer is a backend for Pluto. Content goes to a Postgres database, files go to Supabase Storage, and editors sign in with Supabase Auth.

What it adds

  • Content in Postgres: a content adapter stores the content types of every layer in the database.
  • Sign-in: email and password, magic links, and the auth emails of Pluto.
  • Users and roles: invite users, give them roles, and let roles hold capabilities.
  • Media in Storage: the media library of core stores its files in a Supabase bucket.
  • Migrations: each layer ships its database changes. An admin applies them from /admin/migrations.
  • A setup wizard: the first admin connects the database and makes the first account.

Install

Install the package first, with the command at the top of this page. extends does not install it.

Then extend it:

nuxt.config.ts
export default defineNuxtConfig({
  extends: ['@plutocms/supabase']
})
.env
SUPABASE_URL=your-supabase-url
SUPABASE_KEY=your-publishable-supabase-key

The layer brings @plutocms/core and @nuxtjs/supabase. Do not add them to your app.