# 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. ## 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/<env>/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. <repo>/docker/singlenode/.runtime) ### Stop it `$ docker-compose down -v` ### Clean it up `$ rm -fr .runtime/`