Debian installยถ

Sosse can be installed using the official Debian repository. To do so, first import its GPG key:

apt update
apt install -y curl gpg
mkdir -p /etc/keyrings/
curl https://piggledy.org/repo/apt/debian/public.gpg.key | gpg --dearmor > /etc/keyrings/piggledy.gpg

Then setup the repository:

nano /etc/apt/sources.list.d/piggledy.sources
Types: deb
URIs: https://piggledy.org/repo/apt/debian
Suites: trixie
Components: main
Signed-By: /etc/keyrings/piggledy.gpg

Note

On Debian Bookworm, you can configure the repository with:

echo 'deb [signed-by=/etc/keyrings/piggledy.gpg] http://piggledy.org/repo/apt/debian bookworm main' > /etc/apt/sources.list.d/piggledy.list

The Sosse package can then be installed with its dependencies:

apt update
apt install -y sosse

Database setupยถ

Database connection parameters can be changed in the /etc/sosse/sosse.conf file, you can find more information about each variable in the Configuration file reference).

Database creationยถ

The PostgreSQL database can be created with the commands:

su - postgres -c "psql --command=\"CREATE USER sosse WITH PASSWORD 'CHANGE ME';\""
su - postgres -c "psql --command=\"CREATE DATABASE sosse OWNER sosse;\""

Replace sosse by an appropriate username and password, and set them in the /etc/sosse/sosse.conf configuration file.

Database schemaยถ

The initial database data can be injected with the following commands:

sosse-admin migrate
sosse-admin update_se
sudo -u www-data sosse-admin update_mime

Warning

The update_mime must be run as the www-data user, as it needs to write in the Sosse directories.

A default admin user with password admin can be created with:

sosse-admin default_admin

Daemons setupยถ

And then enable the daemons and start them:

systemctl enable sosse-uwsgi
systemctl enable sosse-crawler
systemctl start sosse-uwsgi
systemctl start sosse-crawler

Nginx siteยถ

After installing the package, the Nginx site needs to be enabled with:

rm -f /etc/nginx/sites-enabled/default
ln -s /etc/nginx/sites-available/sosse.conf /etc/nginx/sites-enabled/
systemctl restart nginx

Geckodriver setup (optional)ยถ

To crawl pages with Firefox, it is required to install Geckodriver, with the command:

curl -L https://github.com/mozilla/geckodriver/releases/download/v0.36.0/geckodriver-v0.36.0-linux64.tar.gz | tar -C /usr/local/bin -x -v -z -f -

Note

A more recent Geckodriver may improve compatibily with the installed Firefox, though different versions have not been tested to work correctly with Sosse.

Note

On Debian Bookworm, use Geckodriver v0.35.0 instead:

curl -L https://github.com/mozilla/geckodriver/releases/download/v0.35.0/geckodriver-v0.35.0-linux64.tar.gz | tar -C /usr/local/bin -x -v -z -f -

Configuration Updatesยถ

The Sosse configuration can be updated in the file located at /etc/sosse/sosse.conf. For detailed explanations of the configuration options, refer to the Configuration file reference. After modifying the configuration file, it is necessary to restart the Sosse daemons to apply the changes. Use the following commands to restart the daemons:

systemctl restart sosse-crawler
systemctl restart sosse-uwsgi

Next stepsยถ

Congrats! The installation is done, you can now point your browser to the Nginx and log in with the user admin and the password admin. For more information about the configuration, you can follow Website indexing & Search to start indexing documents, or explore other :doc:../guidesโ€™.