Before installing QuickSearch, ensure you have the following:
| Requirement | Version | Purpose |
|---|---|---|
| Node.js | 18+ or 20 | Runtime for QuickSearch |
| Meilisearch | Latest (v1.x) | Search engine backend |
| npm | 9+ | Package manager |
| SQLite | Built-in | User database (included) |
This is the fastest way to get QuickSearch running with all dependencies.
git clone <your-repository-url>
cd quick-search/src
# Copy the example environment file
cp .env.example .env
# Edit with your preferred editor
nano .env
# Build and start all services
docker-compose up -d
# Check service status
docker-compose ps
# View logs
docker-compose logs -f
docker-compose ps
Check service status
docker-compose logs -f
Follow logs in real-time
docker-compose restart
Restart services
docker-compose down
Stop services
docker-compose down -v
Stop and remove volumes
docker-compose exec app npm run setup-admin
Create admin user
For development or custom deployments without Docker.
brew install meilisearch
curl -L https://install.meilisearch.com | sh
meilisearch --master-key=your-master-key
cd src
npm install
# Generate Prisma client
npx prisma generate
# Run database migrations
npx prisma migrate deploy
npm run setup-admin
# Standard mode
npm run dev
# Multi-threaded mode (for high throughput)
npm run dev:multi
Configure QuickSearch by editing the .env file:
# Authentication
JWT_SECRET=your-super-secret-jwt-key-change-this-in-production
[email protected]
DEFAULT_ADMIN_PASSWORD=admin123
# Google OAuth (optional)
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret
# Meilisearch
MEILISEARCH_HOST=http://localhost:7700
MEILISEARCH_API_KEY=masterkey
# Performance Tuning
MEILISEARCH_BATCH_SIZE=1000
MEILISEARCH_SYSLOG_DELAY=60000
MEILISEARCH_API_DELAY=15000
MEILISEARCH_ENABLE_MULTI_THREADING=true
MEILISEARCH_MAX_WORKERS=0
# Application
PORT=3000
NUXT_PUBLIC_APP_URL=http://localhost:3000
| Variable | Default | Description |
|---|---|---|
JWT_SECRET |
required | Secret key for JWT tokens |
MEILISEARCH_HOST |
http://localhost:7700 | Meilisearch server URL |
MEILISEARCH_BATCH_SIZE |
1000 | Batch size for indexing |
MEILISEARCH_MAX_WORKERS |
0 (auto) | Worker threads (0 = auto-detect) |
PORT |
3000 | Application port |
After installation, verify everything is working:
Check API status:
GET /api/buffer-status
# Check buffer status
curl http://localhost:3000/api/buffer-status
# Search for events
curl "http://localhost:3000/api/events?limit=10"