DOCS

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.

#1
Homebrew

Easiest method for macOS and Linux users

#2
Docker

Containerized deployment for any platform

#3
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

BASH
001# Add the Omnivore tap
002brew tap Pranav-Karra-3301/omnivore
003
004# Install Omnivore
005brew install omnivore

Install from Local Formula

BASH
001# Clone the repository
002git clone https://github.com/Pranav-Karra-3301/omnivore.git
003cd omnivore
004
005# Install from local formula
006brew install --build-from-source ./Formula/omnivore.rb

Verify

BASH
001# Check version
002omnivore --version
003
004# Help
005omnivore --help

METHOD 2: DOCKER

Docker provides a consistent environment across all platforms and includes all dependencies.

Quick Start

BASH
001# Run Omnivore CLI
002docker run --rm -it omnivore:latest omnivore --help
003
004# Run with local storage
005docker run --rm -v $(pwd)/data:/var/lib/omnivore omnivore:latest

Docker Compose

BASH
001# Clone the repository
002git clone https://github.com/Pranav-Karra-3301/omnivore.git
003cd omnivore
004
005# Start the stack
006docker-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

BASH
001# Install Rust via rustup
002curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
003source ~/.cargo/env
004
005# Verify installation
006rustc --version
007cargo --version

System Dependencies

macOS

BASH
001brew install openssl pkg-config

Ubuntu/Debian

BASH
001sudo apt update
002sudo apt install -y build-essential pkg-config libssl-dev git

RHEL/CentOS/Fedora

BASH
001sudo dnf install -y gcc openssl-devel pkg-config git
002# or on older systems:
003# sudo yum install -y gcc openssl-devel pkgconfig git

Build and Install

BASH
001# Clone the repository
002git clone https://github.com/Pranav-Karra-3301/omnivore.git
003cd omnivore
004
005# Build in release mode
006cargo build --release
007
008# Install CLI
009cargo install --path omnivore-cli --force
010
011# Or use the Makefile
012make install

Shell Completions

BASH
001# Generate completions
002make completions
003
004# Add to your shell profile (Bash)
005echo 'source /path/to/omnivore/completions/omnivore.bash' >> ~/.bashrc
006
007# Add to your shell profile (Zsh)
008echo 'source /path/to/omnivore/completions/_omnivore' >> ~/.zshrc

CONFIGURATION

After installation, configure Omnivore:

Create Default Config

BASH
001mkdir -p ~/.config/omnivore
002omnivore config generate > ~/.config/omnivore/crawler.toml

Example

TOML
001[crawler]
002max_workers = 10
003max_depth = 5
004user_agent = "Omnivore/1.0"
005respect_robots_txt = true
006
007[crawler.politeness]
008default_delay_ms = 100
009max_requests_per_second = 10.0
010
011[storage]
012data_dir = "~/.local/share/omnivore"
013cache_size_mb = 512

UPDATING

Homebrew

BASH
001brew update && brew upgrade omnivore

Docker

BASH
001docker pull omnivore:latest
002# Or rebuild
003docker build -t omnivore:latest .

From Source

BASH
001git pull origin main
002cargo install --path omnivore-cli --force

UNINSTALLATION

Homebrew

BASH
001brew services stop omnivore
002brew uninstall omnivore
003brew untap Pranav-Karra-3301/omnivore

Cargo

BASH
001cargo uninstall omnivore
002rm -rf ~/.local/share/omnivore
003rm -rf ~/.config/omnivore

Docker

BASH
001docker-compose down
002docker rmi omnivore:latest
003docker volume prune

TROUBLESHOOTING

Rust not found

BASH
001source ~/.cargo/env

OpenSSL errors on macOS

BASH
001export OPENSSL_DIR=$(brew --prefix openssl)
002export PKG_CONFIG_PATH="$OPENSSL_DIR/lib/pkgconfig"

Permission denied

BASH
001echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.bashrc
002source ~/.bashrc
Built with Rust. Developed by Pranav Karra