> ## Documentation Index
> Fetch the complete documentation index at: https://docs.experio.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# FalkorDB Browser (Local Development)

> Connect to the local FalkorDB instance using the bundled FalkorDB Browser UI

## Overview

The **FalkorDB Browser UI** is the visual query tool for the local FalkorDB graph database — the FalkorDB equivalent of the Neo4j Browser at `http://localhost:7474`. It is hosted by the devcontainer and lets you run ad-hoc Cypher queries against the local graph.

[BETA-272](https://github.com/Experio-AI/experio/pull/909) introduced FalkorDB as an alternate graph backend via the graph abstraction layer (see
[Graph backend](/admin-guide/graph-backend)). Both backends ship in the devcontainer for local development; production
deployments often default to Neo4j and treat FalkorDB as bring-your-own.

The browser is exposed at:

```
http://localhost:3005
```

## Connection settings

Open `http://localhost:3005` in your browser, then enter the following on the connection screen:

| Field                  | Value                         |
| ---------------------- | ----------------------------- |
| Host                   | `localhost`                   |
| Port                   | `6379`                        |
| Username               | `default`                     |
| Password               | `experio_falkor_dev_password` |
| TLS Secured Connection | unchecked                     |

<Note>
  Both the host port mapping and the password are defined in `.devcontainer/docker-compose.yml`:

  ```yaml theme={null}
  falkordb:
    image: falkordb/falkordb:latest
    ports:
      - 6380:6379  # Redis protocol (host:container)
      - 3005:3000  # Browser UI (host:container)
    environment:
      - FALKORDB_ARGS=--requirepass experio_falkor_dev_password
  ```
</Note>

## Important: use port `6379`, not `6380`

When filling in the browser connection form, **use port `6379`, not `6380`**. This is the most common cause of "connection refused" when wiring up the browser for the first time.

The reason: the browser process runs **inside** the FalkorDB container, so it connects to the Redis protocol port that is internal to the container — which is `6379`. The host port mapping `6380:6379` in `.devcontainer/docker-compose.yml` exists only so processes running on the **host machine** (e.g. Django on macOS) can reach FalkorDB. The browser is already inside the container network, so it bypasses the host port mapping entirely.

```
                            ┌─────────────────────────────────┐
                            │  FalkorDB container             │
                            │                                 │
  Host (macOS/Linux)        │   ┌─────────────────────────┐   │
  ──────────────────  6380  │   │  Redis protocol :6379   │   │
   redis-cli, Django ──────►│──►│  (internal)             │   │
                            │   └─────────────────────────┘   │
                            │              ▲                  │
                            │              │                  │
                            │   ┌─────────────────────────┐   │
   Browser UI :3005   ──────│──►│  Browser :3000          │   │
   ──────────────────  3005 │   │  (uses host=localhost   │   │
                            │   │  port=6379 inside)      │   │
                            │   └─────────────────────────┘   │
                            └─────────────────────────────────┘
```

In short:

| Caller                          | Host        | Port   |
| ------------------------------- | ----------- | ------ |
| FalkorDB Browser (in container) | `localhost` | `6379` |
| `redis-cli` / Django (on host)  | `localhost` | `6380` |

## Verifying the connection from the host

To confirm FalkorDB is up and accepting the password before you launch the browser, run from the host:

```bash theme={null}
redis-cli -h localhost -p 6380 -a experio_falkor_dev_password PING
```

Expected output:

```
PONG
```

You can also confirm the graph database engine is loaded:

```bash theme={null}
redis-cli -h localhost -p 6380 -a experio_falkor_dev_password GRAPH.LIST
```

## Switching the active graph provider

Experio chooses between Neo4j and FalkorDB at runtime via System Settings. To change the active provider, navigate to:

**Admin → Settings → System Settings → Database & Storage → Graph Database**

There you can toggle between providers and update connection credentials. See [System Settings](/admin-guide/system-settings) for the full list of `FALKOR_*` and `NEO4J_*` keys.

<Note>
  After pulling graph-backend or scale-to-zero changes onto a previously-seeded database, run `cd server && pipenv run python manage.py seed_config --force` once to refresh connection defaults (cluster `FALKOR_URI` is `redis://falkordb:6379`; devcontainer host access remains `redis://localhost:6380`). On Omnistrate, also run `seed_autoscaling_config` if `neo4j` / `falkordb` ServiceConfiguration rows are missing.
</Note>

## When to use FalkorDB Browser vs System Settings

| Use case                                                     | Tool                                           |
| ------------------------------------------------------------ | ---------------------------------------------- |
| Ad-hoc Cypher exploration of the graph                       | **FalkorDB Browser** (`http://localhost:3005`) |
| Inspecting nodes, relationships, indexes, vector indexes     | **FalkorDB Browser**                           |
| Changing connection credentials (host, port, password, user) | **System Settings**                            |
| Switching the active graph backend (Neo4j ↔ FalkorDB)        | **System Settings**                            |

The browser is read/write — you can run `MATCH`, `CREATE`, `MERGE`, and `DROP` queries — but credentials and provider selection live in System Settings.

## Troubleshooting

If the browser does not load or the connection fails:

* **Browser does not load at `http://localhost:3005`**
  * Confirm the devcontainer is running: `docker compose -f .devcontainer/docker-compose.yml ps falkordb` should show `running (healthy)`.
  * Confirm port `3005` is not already in use on the host: `lsof -i :3005`.
* **Connection refused / "ETIMEDOUT" from the browser form**
  * Verify you used port `6379`, not `6380`. See the "Important" callout above.
* **Authentication failed**
  * The password must match the `FALKORDB_ARGS=--requirepass …` value in `.devcontainer/docker-compose.yml`. If you changed it locally, restart the FalkorDB service: `docker compose -f .devcontainer/docker-compose.yml restart falkordb`.
* **Browser loads but `redis-cli` fails from the host**
  * From the host you must use port `6380`, not `6379`. The host's `6379` is mapped to the separate `redis` (Redis Stack) service.
* **Connection drops or graph is empty after a restart**
  * The graph is persisted to the `falkordb-data` Docker volume. If you ran `docker compose down -v`, the volume was removed; reseed the graph through the normal ingestion flow.
