Pipeline as a Service

Most people will use DAISY Pipeline 2 as a standalone desktop application. It is easy to install and ready to go. But the Pipeline can also be used as a service to which client programs can connect, through a web API.

There are several use cases:

Installation

Choose a package from the downloads page that includes the server, then follow the installation instructions for that package.

Starting and stopping the service

Windows

TBD

Debian/Ubuntu

If the Pipeline was installed via the Debian package, the service is launched automatically on system startup. To start or stop the service manually, use service daisy-pipeline2 start|stop|restart|status.

Other distros

In order to start the service, execute the file pipeline2. Where exactly this file is located on the file system depends on the installation. To shut down the service press Ctrl-C.

Configuration

Configuration files

When using DAISY Pipeline 2 as a service, especially when integrating it in a custom setup, you probably want to configure a thing or two. Two files are intended to be edited by you for this purpose: system.properties and config-logback.xml. See Configuration files for details. Where on the file system these files are located depends on the installation.

Windows

TBD

Debian/Ubuntu

If the Pipeline was installed via the Debian package, system.properties and config-logback.xml are located in /etc/opt/daisy-pipeline2. In addition there is a third configuration file available: /etc/default/daisy-pipeline2. It supports the following settings:

REMOTE
When “true”, run the server in “remote” mode (“true” or “false”, default is “false”). Has the same effect as setting environment variables PIPELINE2_LOCAL=false and PIPELINE2_AUTH=true.

In addition, all available environment variables listed below, except for PIPELINE2_DATA, can be specified in this file in the format export VAR=value.

Other distros

Environment variables

A number of environment variables will influence the program:

JAVA
Location of the “java” executable. Must be Java 8 or higher.
JAVA_HOME
Location where the Java JRE or JDK is installed. Must be Java 8 or higher.
JAVA_MIN_MEM
Sets the initial size of the heap. See Java’s -Xms option.
JAVA_MAX_MEM
Sets the maximum size of the memory allocation pool. See Java’s -Xmx option.
JAVA_PERM_MEM
Sets the permanent generation space size. See Java’s -XX:PermSize option.
JAVA_MAX_PERM_MEM
Sets the maximum permanent generation space size. See Java’s -XX:MaxPermSize option.
JAVA_OPTS
Any other Java options.
JAVA_DEBUG_OPTS
Additional Java options to be passed on when PIPELINE2_DEBUG is set.
PIPELINE2_LOCAL
Whether to allow local filesystem interaction when the client is running on the same machine as the server (“true” or “false”, default is “true”).
PIPELINE2_AUTH
Whether the web service requires authentication (“true” or “false”, default is “false”).
PIPELINE2_DEBUG
When “true”, passes debug options to Java (“true” or “false”, default is “false”).
PIPELINE2_DATA
Directory for storing program data.

Arguments for pipeline2 executable

The following command line arguments are available. Combinations are possible.

remote
Run Pipeline server in “remote” mode. Has the same effect as setting PIPELINE2_LOCAL=false and PIPELINE2_AUTH=true.
local
Run Pipeline server in “local” mode. Has the same effect as setting PIPELINE2_LOCAL=true and PIPELINE2_AUTH=false.
clean
Clean the program data.
debug
Enable debugging. Has the same effect as setting PIPELINE2_DEBUG=true.
shell
Enable an interactive shell for low-level system manipulation. Run help for a list of commands, help COMMAND for more info about a specific command.