INSTALLATION GUIDE
Install Omnivore on macOS, Linux, or in Docker. Use Homebrew if you want the simplest setup; use Docker for containerized runs; or build from source for maximum control.
Homebrew
Easiest method for macOS and Linux users
Docker
Containerized deployment for any platform
From Source
Build from source for maximum customization
METHOD 1: HOMEBREW (RECOMMENDED)
Recommended
Recommended for most users on macOS and Linux.
Install from Official Tap
BASH001# Add the Omnivore tap002brew tap Pranav-Karra-3301/omnivore003004# Install Omnivore005brew install omnivore
Install from Local Formula
BASH001# Clone the repository002git clone https://github.com/Pranav-Karra-3301/omnivore.git003cd omnivore004005# Install from local formula006brew install --build-from-source ./Formula/omnivore.rb
Verify
BASH001# Check version002omnivore --version003004# Help005omnivore --help
METHOD 2: DOCKER
Docker provides a consistent environment across all platforms and includes all dependencies.
Quick Start
BASH001# Run Omnivore CLI002docker run --rm -it omnivore:latest omnivore --help003004# Run with local storage005docker run --rm -v $(pwd)/data:/var/lib/omnivore omnivore:latest
Docker Compose
BASH001# Clone the repository002git clone https://github.com/Pranav-Karra-3301/omnivore.git003cd omnivore004005# Start the stack006docker-compose up -d
METHOD 3: FROM SOURCE
System Requirements
- - Rust 1.80+ with Cargo
- - Git for cloning the repository
- - OpenSSL development headers
- - pkg-config (Linux)
Install Rust
BASH001# Install Rust via rustup002curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh003source ~/.cargo/env004005# Verify installation006rustc --version007cargo --version
System Dependencies
macOS
BASH001brew install openssl pkg-config
Ubuntu/Debian
BASH001sudo apt update002sudo apt install -y build-essential pkg-config libssl-dev git
RHEL/CentOS/Fedora
BASH001sudo dnf install -y gcc openssl-devel pkg-config git002# or on older systems:003# sudo yum install -y gcc openssl-devel pkgconfig git
Build and Install
BASH001# Clone the repository002git clone https://github.com/Pranav-Karra-3301/omnivore.git003cd omnivore004005# Build in release mode006cargo build --release007008# Install CLI009cargo install --path omnivore-cli --force010011# Or use the Makefile012make install
Shell Completions
BASH001# Generate completions002make completions003004# Add to your shell profile (Bash)005echo 'source /path/to/omnivore/completions/omnivore.bash' >> ~/.bashrc006007# Add to your shell profile (Zsh)008echo 'source /path/to/omnivore/completions/_omnivore' >> ~/.zshrc
CONFIGURATION
After installation, configure Omnivore:
Create Default Config
BASH001mkdir -p ~/.config/omnivore002omnivore config generate > ~/.config/omnivore/crawler.toml
Example
TOML001[crawler]002max_workers = 10003max_depth = 5004user_agent = "Omnivore/1.0"005respect_robots_txt = true006007[crawler.politeness]008default_delay_ms = 100009max_requests_per_second = 10.0010011[storage]012data_dir = "~/.local/share/omnivore"013cache_size_mb = 512
UPDATING
Homebrew
BASH001brew update && brew upgrade omnivore
Docker
BASH001docker pull omnivore:latest002# Or rebuild003docker build -t omnivore:latest .
From Source
BASH001git pull origin main002cargo install --path omnivore-cli --force
UNINSTALLATION
Homebrew
BASH001brew services stop omnivore002brew uninstall omnivore003brew untap Pranav-Karra-3301/omnivore
Cargo
BASH001cargo uninstall omnivore002rm -rf ~/.local/share/omnivore003rm -rf ~/.config/omnivore
Docker
BASH001docker-compose down002docker rmi omnivore:latest003docker volume prune
TROUBLESHOOTING
Rust not found
BASH001source ~/.cargo/env
OpenSSL errors on macOS
BASH001export OPENSSL_DIR=$(brew --prefix openssl)002export PKG_CONFIG_PATH="$OPENSSL_DIR/lib/pkgconfig"
Permission denied
BASH001echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.bashrc002source ~/.bashrc
Built with Rust. Developed by Pranav Karra