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


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


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


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.


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.


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


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


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


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.