Local Development
Local development with Supabase and PowerSync.
Developers using Supabase local dev might prefer being able to develop against PowerSync locally too, for use cases such as running end-to-end integration tests.
Local development is possible with either self-hosted PowerSync or PowerSync Cloud instances. Self-hosting PowerSync for local development is the recommended workflow as it’s more user-friendly.
Self-hosted Supabase & PowerSync (via Docker)
An example implementation and demo is available here:
self-host-demo/demos/supabase at main · powersync-ja/self-host-demo
See the README for instructions.
Self-hosted Supabase & PowerSync Cloud (via ngrok)
This guide describes an example local dev workflow that uses ngrok and the PowerSync CLI.
This guide assumes that you have both ngrok and the Supabase CLI installed
This guide only covers using ngrok. Other configurations such as an NGINX reverse proxy are also possible.
Configure Supabase for SSL
Start ngrok
Here we obtain the local port that supabase is listening on and initialize ngrok using it.
Make a note of the hostname (4.tcp.us-cal-1.ngrok.io
and port number 19263
), your values will differ.
Connect PowerSync (GUI)
- Configure your PowerSync instance using the hostname and port number you noted previously. The default postgres password is “postgres”, you may want to change this. NOTE: make sure that the
Host
field does not contain thetcp://
URI Scheme outputted by ngrok
- Set the SSL Mode to
verify-ca
and click Download certificate
- Click “Test Connection”
- Click “Save” to provision your instance
Connect PowerSync (CLI)
Refer to: CLI (Beta)
Integration Test Example
Coming soon. Reach us on Discord in the meantime if you have any questions about testing.
Was this page helpful?