Development setup
What you need
- Bun, at the version in
packageManagerin the rootpackage.json - Java 17, for Android builds
- The Android SDK, for Android builds and the offline queue tests. Set
ANDROID_HOMEif it isn't in~/Android/Sdk. - PostgreSQL and Redis.
docker compose up -d db redisstarts 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:migrateFill 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=123456It only works when NODE_ENV is development or test; the bun run dev scripts set this for you.