Skip to content
Snippets Groups Projects
user avatar
Benedikt Kroening authored
ad2430ef
History

Open-Xchange App Suite Installer script collection

This collection contains several scripts for letting you install a fully fledged Open-Xchange environment. By default this will install a singlenode environment consisting of: - Database (mysql or mariadb) - Open-Xchange middleware - Apache2 Frontend

Configuration

Basic Configuration is located inside the file config/config. Most options can be overriden by using each shell-scripts parameters (sometimes described in the help text)

Docker configuration

The docker configuration is located at docker/config and will override values from the above default config. You may also override config by providing environmental variables.

Versions

Versions can be configured at setup/versions Check that file for more information.

Database versions

By modifying the DATABASE_TYPE and DATBASE_VERSION variables (config/config) you can manually specify which database type and version to use. Currently supported are mysql and mariadb in all versions as listed on the support matrix

Good to know

This script collection has its roots in the old ox-quickinstall (or installer). Much of the install logic for the different distros was simply taken from there and still can be found at lib/common.bash

How to use

Simple cli examples of how to use this

It is always a good idea to read documentation or help texts!

$ ./ox-installer --help

Install singlenode with everything you need

Right now only frontend (apache), middleware and a database are installed. It uses dovecot.qa.open-xchange.com as mail backend. Please note that the '--singlenode' may be ommited as it is already set in 'config/config'

$ ./ox-installer.sh --singlenode

You can supply each component individually. Read the help text for more information.

Add additiional features/components

Whenever you feel that you might want to test additional components you can install or enable them. Take a look at the features/ direcotry for the feature related scripts. These scripts will install and configure the feature.

Guard

To enable / install guard on a node simply execute:

$ features/guard.sh --install --enable

If you are using the docker environment you can enable guard by executing the installer inside the running container:

$ docker-compose exec singlenode bash -c "/ox-installer/features/guard.sh --install --enable"

additional features

Take a look into the 'features' folder. You may enable/disable additional featues by executing those scripts.

This script is just an teamplate for later use, it does nothing, just sits there waiting to be copied to an actual feature... $ features/feature-template.sh --enable --restart

Docker

This installer supports creation of Open-Xchange docker images. These images will use supervisord as process monitor. Right now it creates a simple groupware image (apache2, ox frontend, ox middleware). Seperate mail and database services are required. Take a look at the docker-compose.yml at the root level of this repo.

Build docker images

The installer script can be used as it is for docker environments. Take a look into the docker/ directory for some examples. You can configure these environments by editing the 'docker//config' file (e.g. docker/singlenode/config). In order to build an singlenode image execute the build script:

$ docker/build.sh --singlenode

This will automatically install OX App Suite, Guard, Documents (including documents collaboration) and the documentconverter server. The image will be tagged with the AS_BACKEND_VERSION-variable (setup/versions) and the latest tag on each build.

Start it

If you have docker-compose available you can use it to start the provided compose-environment, but make sure to be in the correct directory.

$ cd <repo>/docker/singlenode $ docker-compose up

Any runtime related files will be stored at <repo>/docker/<env>/.runtime (e.g. /docker/singlenode/.runtime)

Stop it

$ docker-compose down -v

Clean it up

$ rm -fr .runtime/