Skip to Content

Development setup

What you need

  • Bun, at the version in packageManager in the root package.json
  • Java 17, for Android builds
  • The Android SDK, for Android builds and the offline queue tests. Set ANDROID_HOME if it isn't in ~/Android/Sdk.
  • PostgreSQL and Redis. docker compose up -d db redis starts both with settings that match .env.example.

Set up

From the repository root:

cp .env.example .env
bun install
docker compose up -d db redis
cd packages/database && bun run db:migrate

Fill in .env for your machine. The backend and the job runner both read it in development. The required storage settings need real S3 and R2 credentials and a PMTiles map file for pictures and the map to work.

See the Self-host section for what every variable does.

Email in development

Set EMAIL_CONSOLE=true instead of an email provider. Each email is then printed to the log as one line, including any code, for example:

[email] [email protected] type=password-reset code=123456

It only works when NODE_ENV is development or test; the bun run dev scripts set this for you.

On this page