Why does this exist?
On Ubuntu I was repeatedly getting errors regarding health checks for supabase docker containers using the CLI from the supabase project. As a result, I downloaded their CLI, changed some of the golang files regarding this, and rebuilt the CLI.
These changes should not affect anything else in our application, but will make supabase actually work without a struggle session on Ubuntu.
Additionally, supabase has at this point repeatedly pushed breaking or broken changes that are incredibly hard to debug to packages at this point, so it's probably a good thing for us to remain on a forked stable version of the CLI until a later date when we need to update things.*
How to use this? I uploaded a modified version of the supabase CLI to npm under the name "supabase-rc", and created a repository in our organization with the same name containing the code changes. Replace the "supabase" dependency in your
package.json
with the following:"supabase": "npm:[email protected]",
Supabase is an open source Firebase alternative. We're building the features of Firebase using enterprise-grade open source tools.
This repository contains all the functionality for Supabase CLI.
- Running Supabase locally
- Managing database migrations
- Pushing your local changes to production
- Create and Deploy Supabase Functions
- Manage your Supabase Account
- Manage your Supabase Projects
- Generating types directly from your database schema
- Generating API and validation schemas from your database
Available via NPM as dev dependency. To install:
npm i supabase --save-dev
To install the beta release channel:
npm i supabase@beta --save-dev
Note For Bun versions below v1.0.17, you must add
supabase
as a trusted dependency before runningbun add -D supabase
.
macOS
Available via Homebrew. To install:
brew install supabase/tap/supabase
To install the beta release channel:
brew install supabase/tap/supabase-beta
brew link --overwrite supabase-beta
To upgrade:
brew upgrade supabase
Windows
Available via Scoop. To install:
scoop bucket add supabase https://github.com/supabase/scoop-bucket.git
scoop install supabase
To upgrade:
scoop update supabase
Linux
Available via Homebrew and Linux packages.
To install:
brew install supabase/tap/supabase
To upgrade:
brew upgrade supabase
Linux packages are provided in Releases. To install, download the .apk
/.deb
/.rpm
/.pkg.tar.zst
file depending on your package manager and run the respective commands.
sudo apk add --allow-untrusted <...>.apk
sudo dpkg -i <...>.deb
sudo rpm -i <...>.rpm
sudo pacman -U <...>.pkg.tar.zst
Other Platforms
You can also install the CLI via go modules without the help of package managers.
go install github.com/supabase/cli@latest
Add a symlink to the binary in $PATH
for easier access:
ln -s "$(go env GOPATH)/cli" /usr/bin/supabase
This works on other non-standard Linux distros.
Community Maintained Packages
Available via pkgx. Package script here. To install in your working directory:
pkgx install supabase
supabase help
Or using npx:
npx supabase help
Command & config reference can be found here.
The CLI is a WIP and we're still exploring the design, so expect a lot of breaking changes. We try to document migration steps in Releases. Please file an issue if these steps don't work!
To run from source:
# Go >= 1.20
go run . help