Prerequisites
- Git to clone the repository.
- Docker with Compose to run the stack.
- OpenSSL to generate secrets during bootstrap.
1. Bootstrap the local demo
bootstrap-local.sh creates a .env with generated secrets, enables
DEMO_FIXED_OTP=1 and DEMO_INSTANCE_INSECURE_AUTH_ACK=1, and validates the
Docker Compose configuration. It refuses to run when .env already exists, so
it cannot overwrite a configured install.
The script prints the startup commands used below.
2. Start the stack
Pick one of the two startup commands the bootstrap printed. The core stack is enough for this quickstart. Core stack - web app, PostgreSQL, Valkey, and migrations. Manual checks only:SCHEDULER_DRIVER=none and supports manual checks. The
scheduled stack sets SCHEDULER_DRIVER=temporal. Temporal and the worker are
required for recurring schedules, not for manual checks, so you can finish this
quickstart with the core stack alone.
3. Verify the stack is live
Demo login
Openhttp://localhost:3000. With DEMO_FIXED_OTP=1 active, sign in with:
- Email:
demo@acme.dev - One-time code:
000000
localhost and never expose it on a public address.
4. Confirm the seeded data
After sign-in, open the tracking table. The seeded demo project, search terms, and synthetic rank history are visible. This data is not real and exists only so you can explore the UI without connecting a provider first.5. Run the first check
bisibility ships without a data source, so a live rank check needs your own supported SERP provider credentials first. Open Integrations, choose a SERP provider, and select Connect. Enter the provider’s credentials and select Test connection before saving; credential-based, non-OAuth providers must pass the test. Provider billing stays between you and the provider - see Integrations for the supported providers, credential fields, cost estimates, and the monthly budget cap. With a provider connected, open Overview or Rank Tracker and select Run first check. To rerun one keyword later, open its detail page and select Run check. Manual checks run on the core stack. Scheduled checks require the worker and Temporal overlays from step 2.Success
You have a working local evaluation when:- The liveness endpoint returns
{ "status": "ok" }. - Sign-in with
demo@acme.devand code000000succeeds. - The seeded demo project and search terms are visible in the tracking table.
- After connecting your own SERP provider, a manual first check starts and returns ranking data.
6. Stop and clean up
Stop the core stack, keeping the data for a later restart:.env to re-run bootstrap-local.sh from scratch.
Next steps
- Deployment options to compare the hosted beta, this local demo, and production self-hosting.
- Self-hosting for a production installation.
- Integrations for SERP provider details.
- API quickstart to authenticate and make one REST request with a project API key or personal access token; see Authentication for the choice and secret lifecycle.
- API Reference for every endpoint and schema.
- Official client libraries for Python, TypeScript, Go, and MCP.