README.md 4 KB
Newer Older
benedikt.kroening's avatar
benedikt.kroening committed
1
2
3
# Open-Xchange App Suite Installer script collection

This collection contains several scripts for letting you install a fully fledged Open-Xchange environment.
benedikt.kroening's avatar
benedikt.kroening committed
4
By default this will install a singlenode environment consisting of:
benedikt.kroening's avatar
benedikt.kroening committed
5
6
7
8
9
10
11
    - Database (mysql or mariadb)
    - Open-Xchange middleware
    - Apache2 Frontend

## Configuration

Basic Configuration is located inside the file `config/config`.
benedikt.kroening's avatar
benedikt.kroening committed
12
13
14
15
16
17
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. 
benedikt.kroening's avatar
benedikt.kroening committed
18
19
20
21
22
23

## Versions

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

24
25
26
27
28
### 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

benedikt.kroening's avatar
benedikt.kroening committed
29
30
31
32
33
34
35
36
37
38
## 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!

benedikt.kroening's avatar
benedikt.kroening committed
39
` $ ./ox-installer --help `
benedikt.kroening's avatar
benedikt.kroening committed
40

benedikt.kroening's avatar
benedikt.kroening committed
41
### Install singlenode with everything you need
benedikt.kroening's avatar
benedikt.kroening committed
42
43
44

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

benedikt.kroening's avatar
benedikt.kroening committed
47
` $ ./ox-installer.sh --singlenode `
benedikt.kroening's avatar
benedikt.kroening committed
48
49
50

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

benedikt.kroening's avatar
benedikt.kroening committed
51
52
### Add additiional features/components
Whenever you feel that you might want to test additional components you can install or enable them.
benedikt.kroening's avatar
benedikt.kroening committed
53
54
55
56
57
58
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 `
benedikt.kroening's avatar
benedikt.kroening committed
59

benedikt.kroening's avatar
benedikt.kroening committed
60
If you are using the docker environment you can enable guard by executing the installer inside the running container:
benedikt.kroening's avatar
benedikt.kroening committed
61

benedikt.kroening's avatar
benedikt.kroening committed
62
` $ docker-compose exec singlenode bash -c "/ox-installer/features/guard.sh --install --enable" `
benedikt.kroening's avatar
benedikt.kroening committed
63
64
65
66
67
68
69

#### 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 `

benedikt.kroening's avatar
benedikt.kroening committed
70
71
72
73
74
75
## 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.

benedikt.kroening's avatar
benedikt.kroening committed
76
### Build docker images
77
78
79
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:
benedikt.kroening's avatar
benedikt.kroening committed
80

81
`$ docker/build.sh --singlenode`
benedikt.kroening's avatar
benedikt.kroening committed
82

83
84
85
86
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.


benedikt.kroening's avatar
benedikt.kroening committed
87
88
### Start it

89
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.
benedikt.kroening's avatar
benedikt.kroening committed
90

91
`$ cd <repo>/docker/singlenode`
benedikt.kroening's avatar
benedikt.kroening committed
92
93
`$ docker-compose up`

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

benedikt.kroening's avatar
benedikt.kroening committed
96
97
98
99
100
101
102
### Stop it

`$ docker-compose down -v`

### Clean it up

`$ rm -fr .runtime/`