This is an example self-hosted project using the PowerSync Open Edition version of the PowerSync Service, which is published to Docker Hub as journeyapps/powersync-service
.
Learn more about self-hosting PowerSync here.
Get the app, backend and PowerSync set up by running:
- Run
cp .env.template .env
- Set the appropriate env variables
- Run
docker compose up
to get the backend and powersync service started. - In a new terminal run
cd chat-app && npm i && npm start
to get the frontend started.
The configuration can be modified to match other project topologies.
Edit the .env
file and config files in the ./config
directory with your specific settings.
The PowerSync Service uses MongoDB under the hood. A basic MongoDB replica-set service is available in ps-mongo.yaml
. The powersync.yaml
config is configured to use this service by default. Different MongoDB servers can be configured by removing the include
statement from docker-compose.yaml
and updating powersync.yaml
.
This example uses JWKS which provides the public key directly to the PowerSync instance in powersync.yaml
's jwks
section.
The key-generator
project demonstrates generating RSA key pairs for token signing.
Sync Rules are currently defined by placing them in ./config/sync_rules.yaml
.
If you want to start from a fresh start:
- Delete the Docker volumes
mongo_storage
The full name might vary depending on the directory where thedocker-compose
command was executed. - Delete the service Docker containers.