Welcome! This repository provides a ready-to-run setup of ODE: Synkronus, including a Postgres database, so you can try it out quickly or use it as a starting point for your own deployments.
- Fully containerized Synkronus server
- Includes Postgres database
- Supports local usage and GitHub Codespaces
- Easy environment variable configuration
- Clone this repo:
git clone https://github.com/OpenDataEnsemble/synkronus-quickstart.git
cd synkronus-quickstart- Adjust env variables the
docker-compose.ymlfile.
- In the postgres service:
- POSTGRES_PASSWORD
- In the synkronus service:
- DB_CONNECTION (update to match POSTGRES_PASSWORD)
- JWT_SECRET (generate a new one with: 'openssl rand -base64 32')
- ADMIN_USERNAME
- ADMIN_PASSWORD
- Start the services:
docker compose up -d- Verify the server is running:
curl http://localhost:8080/health
# Should return "OK"Follow the steps from above, but after step 2 do:
- Prepare a database for synkonus
Start only the db service from Docker Compose:
docker compose up dbThis will start the database container and keep it running in the foreground.
In a separate terminal, make the create_sync_db.sh script executable:
chmod +x ./create_sync_db.shThen run the script to create the Synkronus database and user:
./create_sync_db.shThe script will connect to the running db container and set up the required database and user account.
- Start the rest of the services:
docker compose up -d- Verify the server is running:
curl http://localhost:8080/health
# Should return "OK"- Click “Open in Codespaces” on this repository.
- Codespaces will automatically start Synkronus + Postgres.
- Check the Ports tab for the forwarded port to access the API.
- Test the server:
curl <forwarded-url>/healthNotes:
- No UI yet — the API is used with 'Formulus' or 'synkronus-cli'.
- Perfect for experimenting or as a base for production setups.
We welcome feedback! Feel free to open issues or pull requests. If you’re trying this out for the first time, check the Codespaces instructions for the quickest setup.
Enjoy exploring Synkronus!