Install Lookyloo

Requires Python 3.9 or higher (3.12 prefered), prefers Ubuntu 24.04 or more recent (can work on 22.04).

Install Lookyloo Dependencies

Install Poetry

Poetry 2.1 handles dependency installation as well as building and packaging of Python packages.

See the installation guide for more details.

Install Valkey

Lacus supports valkey or redis, but valkey is prefered now due to the change of license.

Valkey: An open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker.

Valkey should be installed from the source, and the repository must be in the same directory as the one you will be cloning Lookyloo in to.
Since Lookyloo 1.26, valkey 8.0 is required.

In order to compile and test valkey, you will need a few packages:

sudo apt-get update
sudo apt install build-essential tcl
git clone https://github.com/valkey-io/valkey
cd valkey
git checkout 8.0
make
# Optionally, you can run the tests:
make test
cd ..

[Optional] Install kvrocks (since v1.24)

Kvrocks: A distributed key-value database built on top of RocksDB. It has the same API as Valkey, but is stored on disk.

It is only useful if you have a lot of captures you want to index for a long time, and run a public instance of Lookyloo where some captures are not public, but you still want to search for them as platform admin.

The indexing is enabled by index_everything in the config/generic.json configuration file.

git clone https://github.com/apache/kvrocks.git
cd kvrocks
./x.py build

Install Lookyloo

Prerequisites

  • Poetry 2.1+ is installed.

  • Valkey is installed from the source. The repository must be in the same directory as the one you will be cloning Lookyloo in to.

  • Python3 development package

sudo apt install python3-dev

Procedure

  1. Clone the Lookyloo repository.

    git clone https://github.com/Lookyloo/lookyloo.git

The directory tree must look like that:

.
├── valkey  => cloned valkey
├── kvrocks  => cloned kvrocks (optional)
└── lookyloo => cloned lookyloo
  1. Change directory

    cd lookyloo
  2. Run the commands:

    poetry install
    echo LOOKYLOO_HOME="'`pwd`'" > .env
  3. Install the dependencies for playwright (requires sudo), and the browsers:

poetry run playwright install-deps
poetry run playwright install

Configuration

  1. Initialize the user configuration

    cp config/generic.json.sample config/generic.json
    cp config/modules.json.sample config/modules.json
  2. Edit the config files accordingly to your needs: see the _notes key in the JSON file. You can also look at the integration page for more information regarding the modules, and the configuration page for the generic configuration options.

  3. Make sure the configuration files are valid, and pull the 3rd party dependencies for the website

    poetry run update --yes

Run the app

poetry run start

Open the website

Unless you changed the default in config/generic.json, the web interface will be reachable at http://0.0.0.0:5100/

Install uwhoisd (Optional)

In order to use the Universal Whois you have to install uwhoisd from Lookyloo repository and the whois package:

sudo apt-get update
sudo apt-get install whois
git clone https://github.com/Lookyloo/uwhoisd
cd uwhoisd
poetry install
echo UWHOISD_HOME="'`pwd`'" > .env
poetry run start

Configure services (Optional)

Then configure the service file
```bash
nano etc/systemd/system/uwhoisd.service.sample
sudo cp etc/systemd/system/uwhoisd.service.sample /etc/systemd/system/uwhoisd.service
cd ..
sudo systemctl daemon-reload
sudo systemctl start uwhoisd
sudo systemctl status uwhoisd

If everything is ok, activate the service for reboot

sudo systemctl enable uwhoisd