Documentation / Local development

Run Logister locally with realistic data.

Use this page for day-to-day development: booting the app, choosing a local infra strategy, loading sample data, and verifying Redis-backed features before touching production deploys.

Bootstrap

Start with the default local app setup.

shell
cp .env.sample .env
bundle install
bin/rails db:prepare
bin/dev

LOGISTER_EMAIL_FROM defaults to support@logister.org. If you want confirmation emails to work outside development, also set SENDGRID_API_KEY.

Boot paths

Choose the local startup path that matches your machine.

CommandBest for
bin/devNormal local work when PostgreSQL is already available and Redis can be started automatically.
bin/dev-infraOne-command startup for the Rails app plus Docker-backed Redis and ClickHouse.
bin/dev-infra --with-postgresFull local stack in Docker, including PostgreSQL.

Seed data

Load development-only sample data when you want a realistic inbox.

shell
bin/rails db:seed
  • Three confirmed users: alice, bob, and carol
  • Projects with shared memberships
  • Active and revoked API keys
  • Events across error, metric, transaction, log, and check_in
  • Error groups in multiple states
  • Check-in monitor examples for ok, missed, and error
Demo credentials
alice@example.com / password123
bob@example.com / password123
carol@example.com / password123

Local services

Pick a PostgreSQL strategy, then add Docker services as needed.

If you already use Postgres.app locally, keep PostgreSQL outside Docker and run only ClickHouse and Redis:

shell
docker compose up -d clickhouse redis
bin/rails db:prepare

If you want PostgreSQL in Docker too, use:

shell
docker compose --profile docker-db up -d
bin/rails db:prepare

Verify local boot

Confirm the local stack is actually usable.

Local verification
Landing page loads
You can sign in with a seeded account
Projects index renders sample projects
Redis-backed background features start without errors
A seeded event appears in a project inbox