A ready-to-use development environment for exploring Quickwit, a cloud-native search engine for observability data. This project includes Docker setup, tutorial automation, and a Rust CLI client.
- 🐳 Docker Compose setup for Quickwit
- 📚 Automated quickstart tutorial (Stack Overflow dataset)
- 🦀 Rust CLI client for querying Quickwit
- ⚡ Just task runner for common operations
- Docker and Docker Compose
- just command runner
- direnv (optional, for auto-loading environment)
- Rust (for the CLI client)
- jq (for JSON formatting)
# Allow direnv to load environment variables
direnv allow
# Start Quickwit server
just up
# Run the complete tutorial (creates index, ingests data, runs search)
just tutorial
# Open the Quickwit UI
just ui # Opens http://localhost:7280.
├── .editorconfig # Editor configuration for consistent formatting
├── .env # Environment variables (Quickwit config)
├── .envrc # direnv configuration
├── .gitignore # Git ignore rules
├── docker-compose.yml # Quickwit container definition
├── justfile # Main task runner commands
├── config/ # Quickwit configuration files
│ ├── quickwit.yaml # Quickwit node configuration
│ └── stackoverflow-*.yaml # Index configurations
├── qwdata/ # Quickwit data directory (gitignored)
└── quickwit-cli/ # Rust CLI client sub-project
├── Cargo.toml # Rust dependencies
├── justfile # CLI-specific tasks
└── src/ # Rust source code
| Command | Description |
|---|---|
just up |
Start Quickwit server |
just down |
Stop Quickwit server |
just logs |
View container logs |
just restart |
Restart the server |
just clean |
Remove containers and data |
| Command | Description |
|---|---|
just tutorial |
Run complete quickstart tutorial |
just setup-index |
Download config and create index |
just ingest |
Ingest sample data |
just search |
Run sample search query |
just delete-index |
Delete the stackoverflow index |
| Command | Description |
|---|---|
just search-query "your query" |
Search with custom query |
just search-tags |
Get popular tags aggregation |
just list-indexes |
List all indexes |
| Command | Description |
|---|---|
just cli-build |
Build the CLI in release mode |
just cli-check |
Run format, lint, and tests |
just cli-indexes |
List indexes via CLI |
just cli-search "query" |
Search via CLI |
just cli-version |
Show server version via CLI |
For more CLI commands: just -f quickwit-cli/justfile --list
The quickwit-cli sub-project is a full-featured Rust client for Quickwit:
cd quickwit-cli
# Build
just build-release
# Run searches
just search "python OR java"
just search-json "search engine"
# Check code quality
just check # runs fmt, clippy, test# Direct usage
cargo run -- --help
cargo run -- index list
cargo run -- search --index stackoverflow "rust programming"
cargo run -- search --index stackoverflow --json --max-hits 5 "python"
# Or install globally
cargo install --path quickwit-cli
quickwit-cli index list| Variable | Default | Description |
|---|---|---|
QUICKWIT_VERSION |
0.8.1 |
Quickwit Docker image version |
QUICKWIT_HTTP_PORT |
7280 |
HTTP API port |
QUICKWIT_GRPC_PORT |
7281 |
gRPC port |
QUICKWIT_DATA_DIR |
./qwdata |
Data directory |
RUST_LOG |
quickwit=info |
Log level |
MIT