Setup Guide

This guide provides a detailed documentation on how to install and start both instances: NEST Desktop and NEST Simulator.

Note

To enable the full functionality of NEST Desktop, you also need to install NEST Simulator on your computer. NEST Simulator provides an API Server which can forward requests to the simulation engine. In summary, you have to start NEST Server as well.

You can find the detailed information on NEST Server in NEST Simulator user documentation.

Docker compose

Deploy NEST Desktop and NEST Simulator with Docker Compose.

Apptainer (former Singularity)

Deploy NEST Desktop and NEST Simulator with Apptainer.

Conda

Deploy NEST Desktop and NEST Simulator with Conda.

Python

Deploy NEST Desktop from Python Package.

AppImage

Start NEST Desktop as AppImage.

Snap

Install and start NEST Desktop with Snap.

Docker (or Docker Compose) and Apptainer provide both NEST Desktop and NEST Simulator, so you have everything you need to run NEST Desktop and NEST Simulator.

Alternatively, you can install NEST Desktop with the conda or pip command.

You are able to download and start the NEST Desktop application, e.g. AppImage (without NEST Simulator) or Snap (with NEST Simulator) in Linux.

If you only have NEST Desktop (i.e., NEST Simulator is not running as back-end), you can create networks but cannot run simulations within the application. In this case, you have to start NEST Server in a terminal or with Docker.

Docker Compose linux windows apple

../../_images/docker-compose-logo.png

Docker is a virtualization software packaging applications and its dependencies. Docker Compose is a tool for running multi-container applications on Docker which uses the Compose file format.

See also

For further information, please see the official page of Docker Compose.

Installation

Docker Compose is available on multiple platforms. This guide demonstrates some of the ways to install it on Linux, Windows and Mac.

Linux linux

Install Docker and Docker Compose in Terminal

apt install docker.io docker-compose

Windows windows and macOS apple

Docker Compose is included in Docker Desktop for Windows and macOS. For more information, take a look at the installation guide of Docker Desktop.

Pull and start Docker containers

  1. Get the configuration file for Docker Compose (docker-compose.yml)

    wget https://raw.githubusercontent.com/nest-desktop/nest-desktop/main/docker-compose.yml
    
  2. Start NEST Desktop and NEST Simulator in a single command:

    docker-compose up
    

Now, the service starts the containers for NEST Desktop and NEST Simulator. You can use NEST Desktop in the web browser at http://localhost:54286.

The installation is now complete! Now you can start constructing networks for the simulation!

See also

For more information (like running the containers without root password, etc.), please read the full documentation of NEST Desktop Docker.

Apptainer linux

../../_images/apptainer-logo.png

Apptainer, former Singularity, is an application container for Linux systems. For more information read the full documentation of Apptainer here.

Get recipes

  1. Clone a working copy from the repository and go to the folder:
git clone https://github.com/nest-desktop/nest-desktop-apptainer
cd nest-desktop-apptainer
  1. Register the bash command for NEST Desktop Apptainer:
export PATH=$PATH:$PWD/bin/

Note

You will have to repeat this every time you end a terminal session.If you like to register this command permanently, please proceed according to the full documentation.

Build image

  1. Build the Apptainer images (it will ask for sudo password):
nest-desktop-apptainer build

Note

This command (and the following ones) need to be executed inside the folder where the container files are located, i.e. the nest-desktop-apptainer folder.

Start container

  1. Start the Apptainer instances of NEST Desktop and NEST Simulator:
nest-desktop-apptainer start

Now NEST Desktop is started. You can use NEST Desktop in the web browser at http://localhost:54286.

The installation is now complete! Now we can start constructing networks for the simulation!

For more information read the full documentation of NEST Desktop Apptainer.

Warning

If the apptainer (esp. NEST Simulator) is running, your system is exposed for unauthorized access!

Conda linux windows apple

../../_images/conda-logo.png

Anaconda provides packages for NEST Desktop. and NEST Simulator. These packages can be installed with Conda (from conda-forge). Since NEST 3, the API server (i.e. NEST Server) is included which is necessary for NEST Desktop.

Prequistion for conda-forge

Conda-forge is a collection of packages led by the community (https://conda-forge.org/). By default conda cannot install packages from the conda-forge.

Add channel for conda-forge:

conda config --add channels conda-forge
conda config --set channel_priority strict

Install with Conda

  1. Create a Conda environment called nest3 and install NEST Simulator:

    conda create -n nest3 nest-simulator
    
  2. Activate the Conda environment nest3:

    conda activate nest3
    
  3. Install the dependencies for the API Server of NEST Simulator:

    conda install flask flask-cors RestrictedPython gunicorn
    
  4. Install NEST Desktop

    conda install nest-desktop
    

Start with Conda

  1. Start NEST Server as the back end:

    The API Server for NEST Simulator is referred to as NEST Server.

    nest-server start
    

    NEST Server is now running at http://localhost:52425.

Note

Before you start nest-server, you have to set these environment variables in bash:

export NEST_SERVER_DISABLE_AUTH=1
export NEST_SERVER_ENABLE_EXEC_CALL=1
export NEST_SERVER_DISABLE_RESTRICTION=1

For more information read the full documentation of NEST Server here.

  1. Start NEST Desktop (in another terminal session):

    nest-desktop start
    

    NEST Desktop is now started and available in the web browser at http://localhost:54286.


The installation is now complete! Now you can start constructing networks for the simulation!

See also

For more information read the full documentation of the command API here.

Python linux windows apple

../../_images/python-logo.png

PyPI contains packages of NEST Desktop and NEST Simulator. We recommend to install both packages.

NEST Simulator

  1. Install NEST Simulator (SKIP THIS STEP IF YOU HAVE NEST 3 INSTALLED.):

    Read the full installation guide of NEST Simulator here.

    We highly recommend installing NEST 3. With NEST 3, the API server (i.e., NEST Server) is already implemented.

  2. Install the dependencies for the API Server of NEST Simulator:

    pip install flask flask-cors RestrictedPython gunicorn
    
  3. Start NEST Server as the back end:

    The API Server for NEST Simulator is referred to as NEST Server.

    nest-server start
    

NEST Server is now running at http://localhost:52425.

Note

Before you start nest-server, you have to set these environment variables in bash:

export NEST_SERVER_DISABLE_AUTH=1
export NEST_SERVER_ENABLE_EXEC_CALL=1
export NEST_SERVER_DISABLE_RESTRICTION=1

For more information read the full documentation of NEST Server here.

NEST Desktop

  1. Install NEST Desktop

    NEST Desktop is available on PyPI and can be installed with the pip command:

    pip3 install nest-desktop [--user] [--upgrade]
    

    For more information, please read the complete installing guide here.

  2. Start NEST Desktop (in another terminal session):

    nest-desktop start
    

Now NEST Desktop is started. You can use NEST Desktop in the web browser at http://localhost:54286.

The installation is now complete! Now you can start constructing networks for the simulation!

See also

For more information read the full documentation of the command API here.

AppImage linux

../../_images/App-image-logo.svg

You can download an AppImage from the releases page.

Click on the .AppImage file to open NEST Desktop.

Note

Start the API Server of NEST Simulator manually before you open NEST Desktop.

Snap linux

../../_images/snapcraft-logo.png

You can download NEST Desktop via Snap.

snap install nest-desktop

The installation is now complete! Now you can start constructing networks for the simulation!