Home
|
Installation
|
Usage
|
Docker
|
Contributing
# Alternative install methods
1. __[Python package](#python)__
1. [Build from source](#build-and-install-package-from-source)
1. __[Docker Container](#docker)__
1. [via Docker Hub (one off)](#docker)
1. [via Docker Hub (compose)](#using-compose)
1. [Local image with Dockerfile](#build-image-from-source-alternative-to-docker-hub)
Python
```bash
# pipx is recommended, but pip may suffice if pipx is unavailable
pipx install sherlock-project
```
### Build python package from source (useful for contributors)
```bash
# pipx is recommended, but pip may suffice if pipx is unavailable
git clone https://github.com/sherlock-project/sherlock.git
cd sherlock
pipx install .
```
Docker
> [!NOTE]
> Sherlock doesn't yet have context detection. It's recommended that Docker containers be ran with option `-o /opt/sherlock/results/{user123}.txt` (replace {user123}) when an output file is desired at the mounted volume (as seen in the compose).
>
> This has no effect on stdout, which functions as expected out of the box.
```bash
# One-off searches
docker run --rm -t sherlock/sherlock user123
# If you need to save the output file... (modify as needed)
# Output file will land in ${pwd}/results
docker run --rm -t -v "$PWD/results:/opt/sherlock/results" sherlock/sherlock -o /opt/sherlock/results/text.txt user123
```
```bash
# At any time, you may update the image via this command
docker pull sherlock/sherlock
```
### Using compose
```yml
version: "3"
services:
sherlock:
container_name: sherlock
image: sherlock/sherlock
volumes:
- ./sherlock/:/opt/sherlock/results/
```
```bash
docker compose run sherlock user123
```
### Build image from source (useful for contributors)
```bash
# Assumes ${pwd} is repository root
docker build -t sherlock .
docker run --rm -t sherlock user123
```