The standard RapidContext download package comes bundled with most of its dependencies. Additional launchers for Docker and Mac OS X are also available separately.
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 \
ghcr.io/baraverkstad/rapidcontext:vXYZ
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.
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.
Options:
--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:
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:
Plug-Instab
Software Install & Updatepanel at the top (see screenshot)
Browse...button and choose the plug-in file
Install / Update Plug-Inbutton
After installing or unloading some plug-ins, the client or server must be restarted for the plug-in loading to have effect:
Plug-ins can both be loaded and unloaded in the built-in Admin app. The steps below explain how to do it.
Plug-Instab
Plug-In Listpanel (see screenshot)
Loador
Unloadbutton
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:
Plug-Instab
Restartbutton in the Admin app
Connections to external systems can be created and modified in the built-in Admin app. The steps below explain how to do it:
Connectionstab
Connection Detailsview (to the right)
Saveto 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:
Show all parameterscheckbox in the edit dialog.
Connection Listview.
Max Openand
Max Idle Secsparameters.
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
id = EXAMPLE
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.