Processes

Under the hood, Nano is separated into different processes by the rules of microservice architecture.

Core

The core’s purpose is to handle the different instances and configurations. It also manages the other running processes.

Control

A minimalistic user interface which allows the user to control the running Nano instance.

Indexer

The indexer takes all the configured paths and traverses them in order to index their contents. It’s other task is to observe these locations for any content changes.

Gateway

The gateway process is the main entrypoint for all server communications. It behaves as a request preprocessor and request handler for different kinds of actions.

Server

The server process is split into two parts by the type of requests.

FsTx

Filesystem transactor is responsible for executing requests that create or update physical files on the system.

General

The general process handles all listing and get requests on the file system, including administrative and search requests.

Picoture

This is a custom thumbnail generator worker process. It works similarly to the Tika content processor. The indexer uses it to produce thumbnails for supported files.

Additional software processes

Nano uses a couple third party, open source softwares for the raw calculations of the indexes and file contents. These software are Apache Solr and Apache Tika.

Apache Solr

Apache Solr’s query engine (in standalone mode) is used for creating the search indexes and maintaining the index database.

Apache Tika

For file content extraction, Apache Tika is used.