Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
README.md 1.95 KiB
Newer Older
Nicolas Gelot's avatar
Nicolas Gelot committed
# spot for [/e/](https://e.foundation)

![logo](searx/static/themes/etheme/img/favicon.png)
Nicolas Gelot's avatar
Nicolas Gelot committed

A privacy-respecting, hackable [metasearch engine](https://en.wikipedia.org/wiki/Metasearch_engine).

Spot was forked from searx: read [documentation](https://asciimoo.github.io/searx) and the [wiki](https://github.com/asciimoo/searx/wiki) for more information.

## Changes between Spot and Searx

* redis cache on http requests (TTL 1 day)
Nicolas Gelot's avatar
Nicolas Gelot committed
* docker packaging thinking to be production ready

6 services are used for production:
Nicolas Gelot's avatar
Nicolas Gelot committed

* [filtron](https://github.com/asciimoo/filtron) as reverse HTTP proxy to filter requests by different rules.
* [morty](https://github.com/asciimoo/morty) as proxy to serve thumbnails.
* [nginx](https://www.nginx.com/) as http server to serve static files.
* Spot the meta search engine.
* [tor](https://www.torproject.org) as open network that helps you defend against traffic analysis.
* [redis](https://redis.io/) as memory storage to cache http requests
Nicolas Gelot's avatar
Nicolas Gelot committed


```mermaid
graph TD
  A(reverse proxy) --> |http://localhost:8088| B(filtron)
  A(reverse proxy) --> |https://localhost:8089| C(morty)
  C --> |image link| C
  B --> D(nginx)
  D --> |static file| D
  D --> |API| E(spot)
  E --> H(tor1)
  E --> I(tor2)
  E --> J(torN)
  E --> |cache| K(redis)
Nicolas Gelot's avatar
Nicolas Gelot committed
## Getting Started

You can run spot with docker-compose. First of all you have to install
docker and docker-compose on your host, then follow instructions
below to run spot for production or local environment.

### Like production

Nicolas Gelot's avatar
Nicolas Gelot committed
Run the docker-compose to start the project
Nicolas Gelot's avatar
Nicolas Gelot committed

```
Nicolas Gelot's avatar
Nicolas Gelot committed
docker-compose up -d
Nicolas Gelot's avatar
Nicolas Gelot committed
```

Nicolas Gelot's avatar
Nicolas Gelot committed
Then go to http://localhost:8088.

Nicolas Gelot's avatar
Nicolas Gelot committed
### For developer

You can only run spot, with a python command inside a docker container which
contains all dependencies.
Nicolas Gelot's avatar
Nicolas Gelot committed

```
docker run -it --rm -v $(pwd):/ws -w /ws -e SEARX_UI_DEFAULT_THEME=etheme -p 8088:80 registry.gitlab.e.foundation:5000/e/cloud/my-spot/env bash
PYTHONPATH=$(pwd) SEARX_DEBUG=1 python -X dev searx/webapp.py
Nicolas Gelot's avatar
Nicolas Gelot committed
```