Logo by Briefreelancing.
Search your homelab like you search the web.
OneSearch indexes your local directories, NAS shares, and external drives and gives you instant full-text search from a browser. No cloud, no telemetry, runs in Docker.
mkdir onesearch && cd onesearch
curl -O https://raw.githubusercontent.com/demigodmode/OneSearch/main/docker-compose.yml
curl -O https://raw.githubusercontent.com/demigodmode/OneSearch/main/.env.example
cp .env.example .envEdit .env and set MEILI_MASTER_KEY to a random string (openssl rand -base64 32 works).
docker-compose up -dOpen http://localhost:8000, run through the setup wizard, add a directory as a source, and start searching.
Existing installs: the default Docker setup now runs OneSearch and managed Meilisearch in a single container. Existing two-container installs do not need to switch immediately. If you do switch, keep your
/app/datavolume and run a full reindex after moving to managed mode. The old two-container external Meilisearch setup is still supported indocker-compose.legacy.yml.
Full setup guide: onesearch.readthedocs.io
| Type | Formats |
|---|---|
| Documents | PDF, Word (.docx), Excel (.xlsx), PowerPoint (.pptx), RTF |
| Ebooks & comics | EPUB, CBZ comic archives |
| Images & RAW photos | JPG, PNG, WebP, GIF, TIFF, CR2, CR3, NEF, ARW, RAF, ORF, RW2, DNG |
| Media metadata | MP4, MKV, MOV, AVI, MP3, FLAC, M4A, OGG, WAV |
| Subtitles | SRT, WebVTT, ASS/SSA |
| Markdown | .md, .markdown |
| Code | .py, .js, .ts, .go, .rs, .java, .c, .cpp, .sh, .sql, and more |
| Config | .yaml, .toml, .json, .xml, .ini, .env, and more |
| Text | .txt, .log |
Incremental indexing so only changed files get reindexed. Per-source cron schedules so your NAS gets scanned daily without thinking about it.
Optional remote agents can index files on another machine without mounting its directories on the OneSearch server. Local read-only NFS, SMB, bind, and ZFS mounts remain the default and need no agent. See the remote-agent guide.
Search across mounted folders and mixed file types:
Preview extracted text with highlighted matches:
Search image and RAW photo metadata:
Track source health and indexing status:
- Installation Guide
- User Guide
- CLI Reference - standalone
onesearch-clipackage that connects to your running OneSearch server and ships from the same tagged release as the Docker image - API Reference
git clone https://github.com/demigodmode/OneSearch.git
cd OneSearchSee the Development Guide for setup instructions.
AGPL-3.0. Free to use, modify, and distribute. If you deploy a modified version as a network service, source must be made available.
- GitHub Issues - bugs and feature requests
- GitHub Discussions - questions and ideas
- Documentation - guides and reference



