mirror of
https://github.com/supabase/supabase.git
synced 2026-10-05 17:35:10 +03:00
Docs: realtime self-hosted (#9843)
* Adds a generated folder * Adds a realtime section * docs: add Realtime v0 self-host parameters (#9915) Co-authored-by: Wen Bo Xie <5532241+w3b6x9@users.noreply.github.com>
This commit is contained in:
1 parent
ef0b8726fe
commit
42ea5eeaad
15 files changed
+375
-22
No files matched your search
Whitespace-only changes.
@@ -0,0 +1,58 @@
|
||||
---
|
||||
slug: /
|
||||
sidebar_position: 1
|
||||
sidebar_label: Realtime Server
|
||||
---
|
||||
|
||||
# Supabase Realtime Server
|
||||
|
||||
Supabase Realtime is a server built with Elixir using the [Phoenix Framework](https://www.phoenixframework.org) that allows you to listen to changes in your PostgreSQL database via logical replication and then broadcast those changes via WebSockets.
|
||||
|
||||
There are two versions of this server: `Realtime` and `Realtime RLS`.
|
||||
|
||||
`Realtime` server works by:
|
||||
|
||||
1. listening to PostgreSQL's replication functionality (using PostgreSQL's logical decoding)
|
||||
2. converting the byte stream into JSON
|
||||
3. broadcasting to all connected clients over WebSockets
|
||||
|
||||
`Realtime RLS` server works by:
|
||||
|
||||
1. polling PostgreSQL's replication functionality (using PostgreSQL's logical decoding and [wal2json](https://github.com/eulerto/wal2json) output plugin)
|
||||
2. passing database changes to a [Write Ahead Log Realtime Unified Security (WALRUS)](https://github.com/supabase/walrus) PostgresSQL function and receiving a list of authorized subscribers depending on Row Level Security (RLS) policies
|
||||
3. converting the changes into JSON
|
||||
4. broadcasting to authorized subscribers over WebSockets
|
||||
|
||||
### Why not just use PostgreSQL's `NOTIFY`?
|
||||
|
||||
A few reasons:
|
||||
|
||||
1. You don't have to set up triggers on every table.
|
||||
2. `NOTIFY` has a payload limit of 8000 bytes and will fail for anything larger. The usual solution is to send an ID and then fetch the record, but that's heavy on the database.
|
||||
3. `Realtime` server consumes two connections to the database, then you can connect many clients to this server. Easier on your database, and to scale up you just add additional `Realtime` servers.
|
||||
|
||||
### Benefits
|
||||
|
||||
1. The beauty of listening to the replication functionality is that you can make changes to your database from anywhere - your API, directly in the DB, via a console, etc. - and you will still receive the changes via WebSockets.
|
||||
2. Decoupling. For example, if you want to send a new slack message every time someone makes a new purchase you might build that functionality directly into your API. This allows you to decouple your async functionality from your API.
|
||||
3. This is built with Phoenix, an [extremely scalable Elixir framework](https://www.phoenixframework.org/blog/the-road-to-2-million-websocket-connections).
|
||||
|
||||
### Does this server guarantee delivery of every data change?
|
||||
|
||||
Not yet! Due to the following limitations:
|
||||
|
||||
1. Postgres database runs out of disk space due to Write-Ahead Logging (WAL) buildup, which can crash the database and prevent Realtime server from receiving and broadcasting changes. This can be mitigated in the Realtime RLS version of this server by setting the Postgres config `max_slot_wal_keep_size` to a reasonable size.
|
||||
2. Realtime server can crash due to a larger replication lag than available memory, forcing the creation of a new replication slot and resetting replication to read from the latest WAL data.
|
||||
3. When Realtime server falls too far behind for any reason, for example disconnecting from database as WAL continues to build up, then database can delete WAL segments the server still needs to read from, for example after reconnecting.
|
||||
|
||||
## Client libraries
|
||||
|
||||
- [JavaScript](https://github.com/supabase/realtime-js)
|
||||
- [Dart](https://github.com/supabase/realtime-dart)
|
||||
|
||||
## Additional Links
|
||||
|
||||
- [Source Code](https://github.com/supabase/storage-api)
|
||||
- [Known bugs and issues](https://github.com/supabase/storage-js/issues)
|
||||
- [Storage Guides](https://supabase.com/docs/guides/storage)
|
||||
- [OpenAPI Docs](https://supabase.github.io/storage-api/)
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
id: release-notes
|
||||
---
|
||||
|
||||
# Release Notes
|
||||
|
||||
All release notes can be found in the [GitHub Releases](https://github.com/supabase/realtime/releases) page.
|
||||
Whitespace-only changes.
Whitespace-only changes.
@@ -58,6 +58,16 @@ Reference documentation for self-hosting Supabase features.
|
||||
/>
|
||||
</div>
|
||||
{/* */}
|
||||
<div class="col col--6">
|
||||
<ButtonCard
|
||||
class="card"
|
||||
to={useBaseUrl('/reference/realtime')}
|
||||
style={{ height: '100%' }}
|
||||
title={'Realtime'}
|
||||
description="Build multiplayer applications and listen to your database changes via websockets."
|
||||
/>
|
||||
</div>
|
||||
{/* */}
|
||||
<div class="col col--6">
|
||||
<ButtonCard
|
||||
class="card"
|
||||
|
||||
@@ -81,6 +81,18 @@ const config = {
|
||||
'https://github.com/supabase/supabase/edit/master/apps/reference/',
|
||||
},
|
||||
],
|
||||
[
|
||||
'@docusaurus/plugin-content-docs',
|
||||
{
|
||||
id: '_realtime',
|
||||
path: '_realtime',
|
||||
routeBasePath: '/reference/realtime',
|
||||
sidebarPath: require.resolve('./nav/realtime_sidebars.js'),
|
||||
breadcrumbs: false,
|
||||
editUrl:
|
||||
'https://github.com/supabase/supabase/edit/master/apps/reference/',
|
||||
},
|
||||
],
|
||||
[
|
||||
'@docusaurus/plugin-content-docs',
|
||||
{
|
||||
|
||||
@@ -312,6 +312,7 @@ const sidebars = {
|
||||
collapsed: false,
|
||||
items: [
|
||||
{ type: 'link', label: 'Auth Server', href: '/reference/auth' },
|
||||
{ type: 'link', label: 'Realtime Server', href: '/reference/realtime' },
|
||||
{ type: 'link', label: 'Storage Server', href: '/reference/storage' },
|
||||
],
|
||||
},
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
/**
|
||||
* Creating a sidebar enables you to:
|
||||
- create an ordered group of docs
|
||||
- render a sidebar for each doc of that group
|
||||
- provide next/previous navigation
|
||||
|
||||
The sidebars can be generated from the filesystem, or explicitly defined here.
|
||||
|
||||
Create as many sidebars as you want.
|
||||
*/
|
||||
|
||||
// @ts-check
|
||||
|
||||
/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
|
||||
const sidebars = {
|
||||
// By default, Docusaurus generates a sidebar from the docs folder structure
|
||||
// tutorialSidebar: [{type: 'autogenerated', dirName: '.'}],
|
||||
|
||||
sidebar: [
|
||||
'intro',
|
||||
'generated/config',
|
||||
'release-notes',
|
||||
// {
|
||||
// type: "category",
|
||||
// label: "Release Notes",
|
||||
// items: ["release-notes"],
|
||||
// },
|
||||
],
|
||||
}
|
||||
|
||||
module.exports = sidebars
|
||||
@@ -18,7 +18,7 @@
|
||||
"storage:version": "docusaurus docs:version:_storage",
|
||||
"supabase-js:version": "docusaurus docs:version:_supabase_js",
|
||||
"supabase-dart:version": "docusaurus docs:version:_supabase_dart",
|
||||
"generate:all": "npm-run-all --parallel gen:api gen:cli gen:gotrue gen:storage gen:supabase-dart:v0 gen:supabase-dart:v1 gen:supabase-js:v1 gen:supabase-js:v2",
|
||||
"generate:all": "npm-run-all --parallel gen:api gen:cli gen:gotrue gen:storage gen:supabase-dart:v0 gen:supabase-dart:v1 gen:supabase-js:v1 gen:supabase-js:v2 gen:realtime",
|
||||
"gen:api": "npm-run-all gen:api:usage",
|
||||
"gen:api:usage": "ts-node ./generator/index.ts gen --type api --url https://api.supabase.com --input ../../spec/transforms/api_v0_openapi_deparsed.json --output ./_api/usage.mdx",
|
||||
"gen:cli": "npm-run-all gen:cli:commands gen:cli:config",
|
||||
@@ -37,7 +37,9 @@
|
||||
"gen:supabase-js:v1": "npm-run-all gen:supabase-js:v1:ref",
|
||||
"gen:supabase-js:v1:ref": "ts-node ./generator/index.ts gen --type legacy --input ../../spec/supabase_js_v1.yml --output ./_supabase_js_versioned_docs/version-v1/generated",
|
||||
"gen:supabase-js:v2": "npm-run-all gen:supabase-js:v2:ref",
|
||||
"gen:supabase-js:v2:ref": "ts-node ./generator/index.ts gen --type legacy --input ../../spec/supabase_js_v2.yml --output ./_supabase_js/generated"
|
||||
"gen:supabase-js:v2:ref": "ts-node ./generator/index.ts gen --type legacy --input ../../spec/supabase_js_v2.yml --output ./_supabase_js/generated",
|
||||
"gen:realtime": "npm-run-all gen:realtime:config",
|
||||
"gen:realtime:config": "ts-node ./generator/index.ts gen --type config --input ../../spec/realtime_v0_config.yaml --output ./_realtime/generated/config.mdx"
|
||||
},
|
||||
"dependencies": {
|
||||
"@docusaurus/core": "^2.0.1",
|
||||
|
||||
@@ -10,6 +10,7 @@ const subNavRoutes = [
|
||||
`/${baseUrl}/reference/cli`,
|
||||
`/${baseUrl}/reference/auth`,
|
||||
`/${baseUrl}/reference/storage`,
|
||||
`/${baseUrl}/reference/realtime`,
|
||||
`/${baseUrl}/reference/javascript`,
|
||||
`/${baseUrl}/reference/dart`,
|
||||
]
|
||||
@@ -26,6 +27,9 @@ const headerNames = {
|
||||
auth: {
|
||||
name: 'Auth',
|
||||
},
|
||||
realtime: {
|
||||
name: 'Realtime',
|
||||
},
|
||||
storage: {
|
||||
name: 'Storage',
|
||||
},
|
||||
|
||||
@@ -39,7 +39,7 @@ info:
|
||||
# This section is an array of public functions which a user might need to execute.
|
||||
parameters:
|
||||
- id: 'project_id' # {string} A unique identifier for this param.
|
||||
title: 'project_id' # {string} Any a name.
|
||||
title: 'project_id' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
# default: '5432'
|
||||
|
||||
@@ -24,7 +24,7 @@ info:
|
||||
# This section is an array of public functions which a user might need to execute.
|
||||
parameters:
|
||||
- id: 'project_id' # {string} A unique identifier for this param.
|
||||
title: 'project_id' # {string} Any a name.
|
||||
title: 'project_id' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
# default: '5432'
|
||||
|
||||
@@ -0,0 +1,228 @@
|
||||
configspec: '001'
|
||||
|
||||
# This section outlines the general information for the tool.
|
||||
info:
|
||||
id: 'storage' # {string} A unique ID for this tool.
|
||||
version: 'next' # {string} The current version number of the tool.
|
||||
title: 'Storage' # {string} A readable name.
|
||||
source: 'https://github.com/supabase/realtime' # {string} Where developers can find the source code.
|
||||
bugs: 'https://github.com/supabase/realtime/issues' # {string} Where developers can file bugs.
|
||||
spec: 'https://github.com/supabase/supabase/blob/master/spec/realtime_v0_config.yml' # {string} Where developers can find this spec (to link directly in the docs).
|
||||
description: |
|
||||
You can use Environment Variables to configure your Realtime Server.
|
||||
tags:
|
||||
- id: general
|
||||
title: General Settings
|
||||
description: General server settings.
|
||||
- id: database
|
||||
title: Database Settings
|
||||
description: Connecting to your database.
|
||||
|
||||
# This section is an array of public functions which a user might need to execute.
|
||||
parameters:
|
||||
- id: 'PORT' # {string} A unique identifier for this param.
|
||||
title: 'PORT' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
default: '4000'
|
||||
description: |
|
||||
Port which you can connect your client/listeners
|
||||
|
||||
- id: 'DB_HOST' # {string} A unique identifier for this param.
|
||||
title: 'DB_HOST' # {string} Any name.
|
||||
tags: ['database'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
default: 'localhost'
|
||||
description: |
|
||||
Database host URL
|
||||
|
||||
- id: 'DB_NAME' # {string} A unique identifier for this param.
|
||||
title: 'DB_NAME' # {string} Any name.
|
||||
tags: ['database'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
default: 'postgres'
|
||||
description: |
|
||||
Database name
|
||||
|
||||
- id: 'DB_USER' # {string} A unique identifier for this param.
|
||||
title: 'DB_USER' # {string} Any name.
|
||||
tags: ['database'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
default: 'postgres'
|
||||
description: |
|
||||
Database user
|
||||
|
||||
- id: 'DB_PASSWORD' # {string} A unique identifier for this param.
|
||||
title: 'DB_PASSWORD' # {string} Any name.
|
||||
tags: ['database'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
default: 'postgres'
|
||||
description: |
|
||||
Database password
|
||||
|
||||
- id: 'DB_PORT' # {string} A unique identifier for this param.
|
||||
title: 'DB_PORT' # {string} Any name.
|
||||
tags: ['database'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
default: '5432'
|
||||
description: |
|
||||
Database port
|
||||
|
||||
- id: 'DB_SSL' # {string} A unique identifier for this param.
|
||||
title: 'DB_SSL' # {string} Any name.
|
||||
tags: ['database'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
default: 'true'
|
||||
description: |
|
||||
Database SSL connection
|
||||
|
||||
- id: 'DB_IP_VERSION' # {string} A unique identifier for this param.
|
||||
title: 'DB_IP_VERSION' # {string} Any name.
|
||||
tags: ['database'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
default: 'IPv4'
|
||||
description: |
|
||||
Connect to database via either IPv4 or IPv6. Disregarded if database host is an IP address (e.g. '127.0.0.1') and recommended if database host is a name (e.g. 'db.abcd.supabase.co') to prevent potential non-existent domain (NXDOMAIN) errors.
|
||||
|
||||
- id: 'REPLICATION_MODE' # {string} A unique identifier for this param.
|
||||
title: 'REPLICATION_MODE' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
default: 'RLS'
|
||||
description: |
|
||||
Connect to database via either IPv4 or IPv6. Disregarded if database host is an IP address (e.g. '127.0.0.1') and recommended if database host is a name (e.g. 'db.abcd.supabase.co') to prevent potential non-existent domain (NXDOMAIN) errors.
|
||||
|
||||
- id: 'SLOT_NAME' # {string} A unique identifier for this param.
|
||||
title: 'SLOT_NAME' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
default: 'realtime_rls'
|
||||
description: |
|
||||
A unique name for Postgres to track the Write-Ahead Logging (WAL). If the Realtime server dies then this slot can keep the changes since the last commited position.
|
||||
|
||||
- id: 'TEMPORARY_SLOT' # {string} A unique identifier for this param.
|
||||
title: 'TEMPORARY_SLOT' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
default: 'false'
|
||||
description: |
|
||||
Start logical replication slot as either temporary or permanent
|
||||
|
||||
- id: 'REALTIME_IP_VERSION' # {string} A unique identifier for this param.
|
||||
title: 'REALTIME_IP_VERSION' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
default: 'IPV6'
|
||||
description: |
|
||||
Bind realtime via either IPv4 or IPv6
|
||||
|
||||
- id: 'PUBLICATIONS' # {string} A unique identifier for this param.
|
||||
title: 'PUBLICATIONS' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
default: '[\"supabase_realtime\"]'
|
||||
description: |
|
||||
JSON encoded array of publication names. Realtime RLS currently accepts one publication.
|
||||
|
||||
- id: 'SECURE_CHANNELS' # {string} A unique identifier for this param.
|
||||
title: 'SECURE_CHANNELS' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
default: 'true'
|
||||
description: |
|
||||
Enable/Disable channels authorization via JWT verification
|
||||
|
||||
- id: 'JWT_SECRET' # {string} A unique identifier for this param.
|
||||
title: 'JWT_SECRET' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
default: '""'
|
||||
description: |
|
||||
HS algorithm octet key (e.g. "95x0oR8jq9unl9pOIx")
|
||||
|
||||
- id: 'JWT_CLAIM_VALIDATORS' # {string} A unique identifier for this param.
|
||||
title: 'JWT_CLAIM_VALIDATORS' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
default: '{}'
|
||||
description: |
|
||||
Expected claim key/value pairs compared to JWT claims via equality checks in order to validate JWT. e.g. '{"iss": "Issuer", "nbf": 1610078130}'.
|
||||
|
||||
- id: 'EXPOSE_METRICS' # {string} A unique identifier for this param.
|
||||
title: 'EXPOSE_METRICS' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
default: 'false'
|
||||
description: |
|
||||
Expose Prometheus metrics at '/metrics' endpoint.
|
||||
|
||||
- id: 'DB_RECONNECT_BACKOFF_MIN' # {string} A unique identifier for this param.
|
||||
title: 'DB_RECONNECT_BACKOFF_MIN' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
default: '100'
|
||||
description: |
|
||||
Specify the minimum amount of time to wait before reconnecting to database
|
||||
|
||||
- id: 'DB_RECONNECT_BACKOFF_MAX' # {string} A unique identifier for this param.
|
||||
title: 'DB_RECONNECT_BACKOFF_MAX' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
default: '120000'
|
||||
description: |
|
||||
Specify the maximum amount of time to wait before reconnecting to database
|
||||
|
||||
- id: 'REPLICATION_POLL_INTERVAL' # {string} A unique identifier for this param.
|
||||
title: 'REPLICATION_POLL_INTERVAL' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
default: '300'
|
||||
description: |
|
||||
Specify how often Realtime RLS should poll the replication slot for changes
|
||||
|
||||
- id: 'SUBSCRIPTION_SYNC_INTERVAL' # {string} A unique identifier for this param.
|
||||
title: 'SUBSCRIPTION_SYNC_INTERVAL' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
default: '60000'
|
||||
description: |
|
||||
Specify how often Realtime RLS should confirm connected subscribers and the tables they're listening to
|
||||
|
||||
- id: 'MAX_CHANGES' # {string} A unique identifier for this param.
|
||||
title: 'MAX_CHANGES' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
default: '100'
|
||||
description: |
|
||||
Soft limit for the number of database changes to fetch per replication poll
|
||||
|
||||
- id: 'MAX_RECORD_BYTES' # {string} A unique identifier for this param.
|
||||
title: 'MAX_RECORD_BYTES' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
default: '1048576' # bytes or 1MB
|
||||
description: |
|
||||
Controls the maximum size of a WAL record
|
||||
+18
-18
@@ -23,7 +23,7 @@ info:
|
||||
# This section is an array of public functions which a user might need to execute.
|
||||
parameters:
|
||||
- id: 'ANON_KEY' # {string} A unique identifier for this param.
|
||||
title: 'ANON_KEY' # {string} Any a name.
|
||||
title: 'ANON_KEY' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
@@ -32,7 +32,7 @@ parameters:
|
||||
A long-lived JWT with anonymous Postgres privileges.
|
||||
|
||||
- id: 'SERVICE_KEY' # {string} A unique identifier for this param.
|
||||
title: 'SERVICE_KEY' # {string} Any a name.
|
||||
title: 'SERVICE_KEY' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
@@ -41,7 +41,7 @@ parameters:
|
||||
A long-lived JWT with Postgres privileges to bypass Row Level Security.
|
||||
|
||||
- id: 'TENANT_ID' # {string} A unique identifier for this param.
|
||||
title: 'TENANT_ID' # {string} Any a name.
|
||||
title: 'TENANT_ID' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
@@ -50,7 +50,7 @@ parameters:
|
||||
The ID of a Storage tenant.
|
||||
|
||||
- id: 'REGION' # {string} A unique identifier for this param.
|
||||
title: 'REGION' # {string} Any a name.
|
||||
title: 'REGION' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
@@ -59,7 +59,7 @@ parameters:
|
||||
Region of your S3 bucket.
|
||||
|
||||
- id: 'GLOBAL_S3_BUCKET' # {string} A unique identifier for this param.
|
||||
title: 'GLOBAL_S3_BUCKET' # {string} Any a name.
|
||||
title: 'GLOBAL_S3_BUCKET' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
@@ -68,7 +68,7 @@ parameters:
|
||||
Name of your S3 bucket.
|
||||
|
||||
- id: 'POSTGREST_URL' # {string} A unique identifier for this param.
|
||||
title: 'POSTGREST_URL' # {string} Any a name.
|
||||
title: 'POSTGREST_URL' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
@@ -77,7 +77,7 @@ parameters:
|
||||
The URL of your PostgREST server.
|
||||
|
||||
- id: 'PGRST_JWT_SECRET' # {string} A unique identifier for this param.
|
||||
title: 'PGRST_JWT_SECRET' # {string} Any a name.
|
||||
title: 'PGRST_JWT_SECRET' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
@@ -86,7 +86,7 @@ parameters:
|
||||
A JWT Secret for the PostgREST database.
|
||||
|
||||
- id: 'DATABASE_URL' # {string} A unique identifier for this param.
|
||||
title: 'DATABASE_URL' # {string} Any a name.
|
||||
title: 'DATABASE_URL' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
@@ -95,7 +95,7 @@ parameters:
|
||||
The URL of your Postgres database.
|
||||
|
||||
- id: 'PGOPTIONS' # {string} A unique identifier for this param.
|
||||
title: 'PGOPTIONS' # {string} Any a name.
|
||||
title: 'PGOPTIONS' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
@@ -104,7 +104,7 @@ parameters:
|
||||
Additional configuration parameters for Postgres startup.
|
||||
|
||||
- id: 'FILE_SIZE_LIMIT' # {string} A unique identifier for this param.
|
||||
title: 'FILE_SIZE_LIMIT' # {string} Any a name.
|
||||
title: 'FILE_SIZE_LIMIT' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
@@ -113,7 +113,7 @@ parameters:
|
||||
The maximum file size allowed.
|
||||
|
||||
- id: 'STORAGE_BACKEND' # {string} A unique identifier for this param.
|
||||
title: 'STORAGE_BACKEND' # {string} Any a name.
|
||||
title: 'STORAGE_BACKEND' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
@@ -122,7 +122,7 @@ parameters:
|
||||
The storage provider.
|
||||
|
||||
- id: 'FILE_STORAGE_BACKEND_PATH' # {string} A unique identifier for this param.
|
||||
title: 'FILE_STORAGE_BACKEND_PATH' # {string} Any a name.
|
||||
title: 'FILE_STORAGE_BACKEND_PATH' # {string} Any name.
|
||||
tags: ['general'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
@@ -131,7 +131,7 @@ parameters:
|
||||
The location storage when the "STORAGE_BACKEND" is set to "file".
|
||||
|
||||
- id: 'IS_MULTITENANT' # {string} A unique identifier for this param.
|
||||
title: 'IS_MULTITENANT' # {string} Any a name.
|
||||
title: 'IS_MULTITENANT' # {string} Any name.
|
||||
tags: ['multitenant'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
@@ -140,7 +140,7 @@ parameters:
|
||||
Operate across multiple tenants.
|
||||
|
||||
- id: 'MULTITENANT_DATABASE_URL' # {string} A unique identifier for this param.
|
||||
title: 'MULTITENANT_DATABASE_URL' # {string} Any a name.
|
||||
title: 'MULTITENANT_DATABASE_URL' # {string} Any name.
|
||||
tags: ['multitenant'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
@@ -149,7 +149,7 @@ parameters:
|
||||
The URL of the multitenant Postgres database.
|
||||
|
||||
- id: 'X_FORWARDED_HOST_REGEXP' # {string} A unique identifier for this param.
|
||||
title: 'X_FORWARDED_HOST_REGEXP' # {string} Any a name.
|
||||
title: 'X_FORWARDED_HOST_REGEXP' # {string} Any name.
|
||||
tags: ['multitenant'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
@@ -158,7 +158,7 @@ parameters:
|
||||
TBD.
|
||||
|
||||
- id: 'POSTGREST_URL_SUFFIX' # {string} A unique identifier for this param.
|
||||
title: 'POSTGREST_URL_SUFFIX' # {string} Any a name.
|
||||
title: 'POSTGREST_URL_SUFFIX' # {string} Any name.
|
||||
tags: ['multitenant'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
@@ -167,7 +167,7 @@ parameters:
|
||||
The suffix for the PostgREST instance.
|
||||
|
||||
- id: 'ADMIN_API_KEYS' # {string} A unique identifier for this param.
|
||||
title: 'ADMIN_API_KEYS' # {string} Any a name.
|
||||
title: 'ADMIN_API_KEYS' # {string} Any name.
|
||||
tags: ['multitenant'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
@@ -176,7 +176,7 @@ parameters:
|
||||
Secure API key for administrative endpoints.
|
||||
|
||||
- id: 'ENCRYPTION_KEY' # {string} A unique identifier for this param.
|
||||
title: 'ENCRYPTION_KEY' # {string} Any a name.
|
||||
title: 'ENCRYPTION_KEY' # {string} Any name.
|
||||
tags: ['multitenant'] # {string[]} These tags are useful for grouping parameters
|
||||
links: [] # {string[]} These tags are useful for grouping parameters
|
||||
required: true
|
||||
|
||||
Reference in new issue
Block a user