Install packages
This guide discusses how to install packages for use within Deephaven. The Deephaven server runs on a Debian Docker container, and that Docker container can be modified to install custom packages.
docker exec
In order to install packages for use within Deephaven, you need to install them on the ghcr.io/deephaven/server
container. One of the easiest ways to do this is through docker exec
.
With the default Deephaven docker-compose.yml
file, docker compose exec server
can be used to run commands on the server
container. This example shows how to install the popular text editor Vim.
docker compose exec server apt-get update
docker compose exec server apt-get install vim -y
Installing dependencies during build
The above example doesn't scale out for automated processes. In order to do this automatically, you'll need to create a custom Docker image that extends the base ghcr.io/deephaven/server
image, and use that image for launching Deephaven.
The following custom Dockerfile
installs Vim during its build.
FROM ghcr.io/deephaven/server
RUN apt-get update
RUN apt-get install vim -y
You'll then need to build this image, tag it with a name of your choice, and use that tag in your docker-compose.yml
file. The following example shows how to do this with a tag named deephaven/custom-server
.
docker build --tag deephaven/custom-server .
In the docker-compose.yml
:
services:
server:
image: deephaven/custom-server
Once you've run these commands and updated your docker-compose.yml
file, you can launch Deephaven with docker compose up
and your custom dependencies will be installed.
Using a shell script
For installing packages that require more than just apt-get
commands (such as using a Makefile and having to change directories), you may want to use a shell script for the installation. This is very easy to do; simply create a shell script that is copied by the Dockerfile that contains the installation steps, and then run it. The following shows how to install Vim using a shell script.
Dockerfile
FROM ghcr.io/deephaven/server
COPY setup.sh /setup.sh
RUN sh /setup.sh
setup.sh
apt-get update
apt-get install vim -y