Supabase Setup & Prerequisites
Connect Stackpane to your Supabase project with API keys, permissions, and configuration guidance.
Overview
Stackpane connects to Supabase projects using the project URL and API keys available in your Supabase dashboard. Once connected, you can browse your PostgreSQL database, manage users, work with storage buckets, configure Row-Level Security policies, and more — all from a native macOS interface.
Finding Your Credentials
Project URL
- Open the Supabase Dashboard.
- Select your project.
- Navigate to Settings > API.
- Copy the Project URL (e.g.,
https://xyzproject.supabase.co).
This URL is the base endpoint for all PostgREST, GoTrue, and Storage API calls.
API Keys
On the same Settings > API page, you will find two keys:
- anon (public) key — a public API key that respects Row-Level Security policies. Use this for standard browsing where RLS enforcement is desired.
- service_role key — a secret key that bypasses Row-Level Security entirely. Use this when you need full admin access to all tables and data.
Both keys are JWTs signed with your project’s JWT secret.
Anon Key vs Service Role Key
| Anon Key | Service Role Key | |
|---|---|---|
| Access level | Restricted by RLS policies | Full access, bypasses RLS |
| Use case | Browsing data as a typical user | Admin operations, schema changes, user management |
| Security | Safe to expose in client apps | Must be kept secret |
| Recommended for Stackpane | Testing RLS behavior | General development and administration |
For most Stackpane workflows, the service role key is recommended because it provides unrestricted access to all tables, auth users, and storage buckets. Use the anon key when you specifically want to verify that your RLS policies behave correctly.
Creating a Connection
- Click the + button in the sidebar or choose New Connection from the connection picker.
- Enter a connection name (e.g., “My App - Production”).
- Select Supabase as the provider.
- Enter your Project URL.
- Enter your anon key.
- Optionally enter your service role key for admin access.
- Click Save.
Stackpane validates the connection immediately and shows a green status indicator when the project is reachable.
Multiple Connections
You can create separate connections for different environments or key configurations:
- Production (service role) — for full admin access
- Production (anon) — for testing RLS-restricted access
- Local development — pointing to a local Supabase stack via Docker
Each connection maintains its own bookmarks, tabs, and settings.
Supabase Plan Requirements
Stackpane uses the standard Supabase REST and management APIs. All features work with the Free plan and above. Some considerations:
- Edge Functions — available on all plans, but function invocations count toward your plan limits
- Realtime subscriptions — available on all plans with concurrent connection limits based on your plan tier
- Storage — bucket size limits depend on your plan
Common Connection Errors
”Invalid API key”
Verify that you copied the full key from Settings > API. Keys are long JWT strings — ensure no whitespace was added during copy.
”Project not found” or timeout
Check that the project URL is correct and that the project is not paused. Supabase pauses inactive Free-tier projects after a period of inactivity. Resume the project from the Supabase dashboard.
”Permission denied” on specific tables
If using the anon key, RLS policies may be restricting access. Switch to the service role key for unrestricted access, or review your RLS policies to ensure the anon role has the necessary permissions.
Connection works but no tables appear
Ensure that your database has tables in the public schema. Stackpane queries the public schema by default. Tables in other schemas are not displayed unless explicitly configured.
Tips
- Store the service role key securely — Stackpane saves it in the macOS Keychain
- Create separate connections for production and local development to avoid accidental data changes
- If your project is on the Free tier, keep it active to prevent automatic pausing
- Use the anon key connection to verify your RLS policies work as expected before deploying