Skip to content

demigodmode/OneSearch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

272 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OneSearch

OneSearch logo

Logo by Briefreelancing.

License: AGPL v3 Latest Release Tests Docker Pulls Documentation

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.

OneSearch search results


Quick Start

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 .env

Edit .env and set MEILI_MASTER_KEY to a random string (openssl rand -base64 32 works).

docker-compose up -d

Open http://localhost:8000, run through the setup wizard, add a directory as a source, and start searching.

Heads up: OneSearch is moving toward an easier single-container setup. The default install still runs Meilisearch as a separate container, but v0.13 adds an opt-in managed Meilisearch mode where OneSearch starts Meilisearch inside the app container. If you want to try it, use docker-compose.managed-meili.yml; existing installs should read the migration guide first. Existing installs do not need to change.

Full setup guide: onesearch.readthedocs.io


What it indexes

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.


Screenshots

Document preview with metadata and syntax highlighting:

Document preview

Admin panel - indexing status across all sources:

Admin status

Accent color theming - pick what feels like yours:

Admin settings


Documentation

onesearch.readthedocs.io


Development

git clone https://github.com/demigodmode/OneSearch.git
cd OneSearch

See the Development Guide for setup instructions.


License

AGPL-3.0. Free to use, modify, and distribute. If you deploy a modified version as a network service, source must be made available.


Support