mirror of
https://github.com/supabase/supabase.git
synced 2026-06-14 14:08:31 +08:00
87 lines
3.0 KiB
Markdown
87 lines
3.0 KiB
Markdown
# Supabase Studio
|
|
|
|
A dashboard for managing your self-hosted Supabase project, and used on our [hosted platform](https://supabase.com/dashboard). Built with:
|
|
|
|
- [Next.js](https://nextjs.org/)
|
|
- [Tailwind](https://tailwindcss.com/)
|
|
|
|
## What's included
|
|
|
|
Studio is designed to work with existing deployments - either the local hosted, docker setup, or our CLI. It is not intended for managing the deployment and administration of projects - that's out of scope.
|
|
|
|
As such, the features exposed on Studio for existing deployments are limited to those which manage your database:
|
|
|
|
- Table & SQL editors
|
|
- Saved queries are unavailable
|
|
- Database management
|
|
- Policies, roles, extensions, replication
|
|
- API documentation
|
|
|
|
## Managing Project Settings
|
|
|
|
Project settings are managed outside of the Dashboard. If you use docker compose, you should manage the settings in your docker-compose file. If you're deploying Supabase to your own cloud, you should store your secrets and env vars in a vault or secrets manager.
|
|
|
|
## How to contribute?
|
|
|
|
- Branch from `master` and name your branches with the following structure
|
|
- `{type}/{branch_name}`
|
|
- Type: `chore | fix | feature`
|
|
- The branch name is arbitrary — just make sure it summarizes the work.
|
|
- When you send a PR to `master`, it will automatically tag members of the frontend team for review.
|
|
- Review the [contributing checklists](contributing/contributing-checklists.md) to help test your feature before sending a PR.
|
|
- The Dashboard is under active development. You should run `git pull` frequently to make sure you're up to date.
|
|
|
|
### Developer Quickstart
|
|
|
|
> [!NOTE]
|
|
> **Supabase internal use:** To develop on Studio locally with the backend services, see the instructions in the [internal `infrastructure` repo](https://github.com/supabase/platform/blob/develop/docs/contributing.md).
|
|
|
|
```bash
|
|
# You'll need to be on Node v20
|
|
# in /studio
|
|
|
|
## For external contributors
|
|
pnpm install # install dependencies
|
|
pnpm run dev # start dev server
|
|
|
|
## For internal contributors
|
|
## First clone the private supabase/platform repo and follow instructions for setting up mise
|
|
mise studio # Run from supabase/platform alongside `mise infra`
|
|
|
|
## For all
|
|
pnpm run test # run tests
|
|
pnpm run test -- --watch # run tests in watch mode
|
|
```
|
|
|
|
## Running within a self-hosted environment
|
|
|
|
Follow the [self-hosting guide](https://supabase.com/docs/guides/hosting/docker) to get started.
|
|
|
|
```
|
|
cd ..
|
|
cd docker
|
|
docker compose -f docker-compose.yml -f ./dev/docker-compose.dev.yml up
|
|
```
|
|
|
|
Once you've got that set up, update `.env` in the studio folder with the corresponding values.
|
|
|
|
```
|
|
POSTGRES_PASSWORD=
|
|
SUPABASE_ANON_KEY=
|
|
SUPABASE_SERVICE_KEY=
|
|
```
|
|
|
|
Then run the following commands to install dependencies and start the dashboard.
|
|
|
|
```
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
If you would like to configure different defaults for "Default Organization" and "Default Project", you will need to update the `.env` in the studio folder with the corresponding values.
|
|
|
|
```
|
|
DEFAULT_ORGANIZATION_NAME=
|
|
DEFAULT_PROJECT_NAME=
|
|
```
|