Install and run the Deephaven production application

This guide shows you how to install and launch the Deephaven Community Core production application. The production application runs Deephaven from artifacts built for each release, so you don't need Docker or a source build. It is the recommended way to run production applications that use Deephaven, hence its name.

This guide covers installing and starting the server, setting authentication, and running more than one server on a machine. For more advanced options, see Configure the production application.

Supported operating systems

Deephaven runs on these operating systems. See the version matrix for which platforms Deephaven tests regularly and which it only expects to work.

  • Linux
  • macOS
  • Windows 10 or Windows 11, with WSL 2.

Warning

WSL 2's default time-sync setup can cause spurious 10–20-second clock jumps that stall Deephaven ticking tables. Before running Deephaven on WSL 2, apply one of the time-sync workarounds.

Prerequisites

Java and Python are the only prerequisites to run Deephaven's production application.

NameRecommended versionRequired version
Java21 (LTS)>= 17
Python3.12See version matrix

The minimum Python version depends on the release. See the version matrix for the Python and Java versions each release supports.

Get the artifacts

The Deephaven artifacts are attached to each Deephaven release. Only the server artifact in tar format is required. To install the Python package from a wheel instead of PyPI, also download the Python artifact in wheel format.

Set your preferred version in an environment variable. The shell commands in this guide set and use DH_VERSION. Replace LATEST_VERSION_HERE with the version number of the most recent release, without the leading v:

You can download release artifacts from your browser of choice or via the command line:

Unpack the server

Unpack the server artifact from your file explorer or with the command line:

Create the virtual environment

We highly recommend a virtual environment to manage Python packages for standalone applications like Deephaven. Install the wheel you downloaded, or use one of the alternatives below:

The [autocomplete] extra adds code completion in the IDE. See Choose Python packages to install for other extras.

Start the server from this activated shell. Activating the virtual environment sets the VIRTUAL_ENV environment variable, which Deephaven uses to find Python.

Run the server

The server contains a bin/ directory with a start script. To start the server, run the start script:

The start script passes the START_OPTS environment variable to the JVM as extra arguments.

The server prints its logs to the console, and the web UI is available at http://localhost:10000.

To stop the server, press Ctrl+C.

Authentication

By default, Deephaven uses pre-shared key authentication. If you don't set a key, the server generates a random key each time it starts and prints it to the console, like this:

Logs display a randomly generated key

Open the URL in the second log line, which includes the key, to sign in automatically.

To set your own pre-shared key, add -Dauthentication.psk=YOUR_PASSWORD_HERE to START_OPTS. The following command sets that key:

Logs display the user-defined key

Warning

Anonymous authentication is not secure. Use it only on a trusted network.

The following command uses anonymous authentication:

Multiple servers

To run several servers on one machine with different Python requirements, set the virtual environment for each server explicitly:

  • VIRTUAL_ENV selects the virtual environment.
  • DEEPHAVEN_APPLICATION names the server and gives it its own configuration, cache, and data directories. See Configure the production application.
  • -Dhttp.port, set in START_OPTS, gives each server its own port.

The following commands start two servers:

Next steps