2. Installing & Connecting

2.1 System Requirements

The standard RapidContext download package comes bundled with most of its dependencies. Additional launchers for Docker and Mac OS X are also available separately.

2.2 Docker Images

The easiest way to run RapidContext is with a pre-built Docker image. This only requires a Docker server and supports standard port-mapping and local data volume arguments:

$> docker run \
     -p 8080:80
     -v local-data:/opt/local \

The command above starts a new server on localhost:8080 and creates a default admin user on the first run (unless other users are found).


A new RapidContext server can be accessed with the following login:

Login: admin
Password: blank (anything is accepted)

It is important to change the password for the default admin user before allowing access to the system.

The Docker image is based on Alpine Linux for minimal size. It is multi-architecture and supports both linux/amd64 and linux/arm64. The list of available versions shows the image tags available. Note that latest references the current development version.

An alternative way to run RapidContext in Docker is to build your own image. This can either be built from scratch, or reuse the default image to install additional software, etc:

FROM ghcr.io/baraverkstad/rapidcontext

# Install extras
RUN apk add --no-cache ...

# Diagnostics
HEALTHCHECK --timeout=5s CMD \
    wget -q --spider http://localhost/rapidcontext/status

Either way, the RapidContext Dockerfile is a good reference for how to build an image.

2.3 Server Installation

RapidContext can be installed either as a stand-alone server (recommended) or inside a Java Servlet container, such as Jetty or Tomcat. To install and start the stand-alone server, follow the steps below:

Linux, Mac OS & Unix Windows
1. #> cd /opt 1. Go to Program Files folder
2. #> unzip rapidcontext-XYZ.zip 2. Unpack rapidcontext-XYZ.zip
3. #> cd rapidcontext-XYZ 3. Open directory rapidcontext-XYZ\bin
4. #> bin/rapidcontext 4. Double-click rapidcontext.bat

When run from the command-line, RapidContext supports different modes and provides a number of options:

$> bin/rapidcontext --help
Usage: [1] rapidcontext [--app] [<options>]
       [2] rapidcontext --server [<options>]
       [3] rapidcontext [--script] [<options>] [<procedure> [<arg1> ...]]

Alternative [1] is assumed when no procedure is specified.
Alternative [3] is assumed when a procedure is specified.

     --app             Launch in interactive application mode.
     --server          Launch in server mode.
     --script          Launch in script execution mode.
  -h,--help            Displays this help message,
  -l,--local <dir>     Use a specified local app directory.
  -p,--port <number>   Use a specified port number (non-script mode).
  -d,--delay <secs>    Add a delay after each command (script mode).
  -t,--trace           Print detailed execution trace (script mode).
  -u,--user <name>     Authenticate as a another user (script mode).
     --stdin           Read commands from stdin (script mode).
  -f,--file <file>     Read commands from a file (script mode).

To install RapidContext in a Java servlet container, use the file rapidcontext.war inside the ZIP distribution and follow the deployment instructions for your server.

The RapidContext server is also available as a convenient RapidContext.app launcher application for Mac OS X. Once started, it shows a simple server control panel as below:


2.4 Plug-in Installation

Plug-ins are installed or updated by using the built-in Admin app. The steps below explain how to install or update a plug-in:

  1. Launch or go to the Admin app
  2. Choose the Plug-Ins tab
  3. Locate the Software Install & Update panel at the top (see screenshot)


  4. Click the Browse... button and choose the plug-in file
  5. Wait for the upload to complete
  6. Click the Install / Update Plug-In button
  7. The plug-in is now installed and activated


After installing or unloading some plug-ins, the client or server must be restarted for the plug-in loading to have effect:

  • Client Restarts: If the plug-in adds or modifies an app, the web browser should be reloaded. Use F5 or Ctrl-R to force a page reload in your browser.
  • Server Restarts: When loading or unloading plug-ins containing Java code or JAR libraries, a full server restart is sometimes needed due to issues with the Java virtual machine. The Admin app provides a warning in those situations. Make sure that the java process is fully terminated before restarting the service.

2.5 Plug-in Activation & Deactivation

Plug-ins can both be loaded and unloaded in the built-in Admin app. The steps below explain how to do it.

  1. Launch or go to the Admin app
  2. Choose the Plug-Ins tab
  3. Locate the Plug-In List panel (see screenshot)


  4. Select the plug-in to activate or deactivate
  5. Press the corresponding Load or Unload button
  6. The plug-in is now activated or deactivated

2.6 Plug-in Removal

Normally, it is not necessary to completely remove a plug-in from the server. Leaving it in unloaded status ensures that it has no effect on the system. Nevertheless, a plug-in can be completely removed by the following steps:

  1. Launch or go to the Admin app
  2. Choose the Plug-Ins tab
  3. Ensure that the plug-in is currently not loaded
  4. On the server — Go to the plugin/ directory
  5. On the server — Remove the [plugin].zip file
  6. Press the Restart button in the Admin app
  7. Verify that the plug-in is no longer in the list of plug-ins

2.7 Connections

Connections to external systems can be created and modified in the built-in Admin app. The steps below explain how to do it:

  1. Launch or go to the Admin app
  2. Choose the Connections tab
  3. Select the connection to modify (if appropriate, see screenshot)


  4. Press the edit OR the "+" icon in the Connection Details view (to the right)
  5. The connection editing dialog is shown (see screenshot)


  6. Select the appropriate type and edit the details
  7. Press Save to save and validate the connection

The connection will automatically be validated (tested) when modified or created in the Admin app. Any previously open communication channels will be closed and a single new one will be established. The results are visible in the Connection Details view.

A number of things should be noted regarding connections and connection editing:

2.8 Environments

An environment is used to signal the RapidContext server location to the user. The environment name is displayed at the top right corner of the standard user interface, along with the user name. Environments are primarily useful when several RapidContext servers are in use.

There is currently no user interface for editing or creating environments, so they must be manually added to the plugin/local/environment/ directory (or the environment/ directory in your plug-in). The file name should follow normal storage rules, i.e. [identifier].properties. See below for an example environment file.

# General properties
type = environment
description = The example environment
connections = EXAMPLE/

The connections property is used as a prefix when locating connections. I.e. all connection identifiers in the environment should be named [prefix]/[identifier], but only the identifier part should be specified on usage (in procedures and similar).

This will make it possible to add support for multiple environments with similar connections in a future version.


A RapidContext server may currently only have a single environment loaded (although multiple connections are supported). This environment is used for all users, apps and procedures on the server. If several environments are required, separate RapidContext server instances should be installed.