Sign inSign up

instantlinux/open-xchange-appsuite

By instantlinux

•Updated almost 6 years ago
Archived

DEPRECATED Open Xchange: online documents portal for spreadsheet, word-processing, calendar

Image
8

10K+

instantlinux/open-xchange-appsuite repository overview

⁠OX App Suite docker image

STATUS: DEPRECATED. Hasn't worked properly since 7.10.1 tag. Want to crowd-source a solution? See issue #37 and help get a debian buster installation working. Contact the software vendor at open-xchange.com.

Private-cloud online documents portal for spreadsheet, word-processing, presentations, email, calendar, and cloud file storage.

This image is based on Open-Xchange installation for debian 9.0⁠.

For more details, see the vendor's site OX App Suite⁠.

⁠Usage

See the kubernetes or docker-compose.yml here; make sure you have a compatible database running first (the mariadb-galera⁠ service is one option), and an imap server (like dovecot⁠). Set up the variables and secrets as defined below, and invoke the resource.

kubernetes:

    # edit .kube/config to ensure desired default namespace, and then:
    kubectl create secret generic --from-literal=ox-admin-password=mysecret1 \
      ox-admin-password
    kubectl create secret generic --from-literal=ox-db-password=mysecret1 \
      ox-db-password
    kubectl create secret generic --from-literal=ox-master-password=mysecret1 \
      ox-master-password

docker swarm:

    echo -n mysecret1 | docker secret create ox-admin-password -
    echo -n mysecret2 | docker secret create ox-db-password -
    echo -n mysecret3 | docker secret create ox-master-password -

Create database and grant access:

    mysql> CREATE DATABASE oxdata;
    mysql> GRANT ALL PRIVILEGES ON `oxdata`.* TO 'openxchange'@'%'
           IDENTIFIED BY 'mysecret2';
    mysql> GRANT ALL PRIVILEGES ON `oxdatabase_5`.* TO 'openxchange'@'%'
           IDENTIFIED BY 'mysecret2';

Verify database can be reached at the DNS name you've defined for OX_CONFIG_DB_HOST.

Change the mounted volume /ox/etc to allow read/write; it is populated with default settings at first launch:

    export OX_ETC_READONLY=false

Afterward, you can remove this setting (and manage contents with your favorite source-code tool such as git; subsequent restarts copy these files into /opt/open-xchange/etc).

The entrypoint.sh script adjusts these three settings under /ox/etc after default values are populated:

SettingFileValueWhy
com.openexchange.capability.presentationdocuments.propertiestrueText word-processor and Spreadsheet utilities enabled by default; Presentation default value is false
com.openexchange.hazelcast.group.passwordhazelcast.propertiesuuidgenHas a widely-known default value; change it to a random string
com.openexchange.IPCheckpermissions.propertiesfalseUnder Docker you're likely to suffer frequent logouts with Client login IP changed in the logs.

Once the container is launched, context-admin can register new users:

    docker exec <container_name> /opt/open-xchange/sbin/createuser \
      -A oxadmin -c 1 -d jennifer_wu -e [email protected] \
      -g Jennifer -s Wu -l en_US -p password -u jwu -P <admin password>

UI is available at http://yourhost/appsuite⁠.

This repo has complete instructions for building a kubernetes cluster⁠ where you can deploy kubernetes.yaml⁠ using make and customizing Makefile.vars⁠ after cloning this repo:

git clone https://github.com/instantlinux/docker-tools.git
cd docker-tools/k8s
# docs.yaml is a symlink to openx-xchange-appsuite/kubernetes.yaml
OX_ETC_READONLY=false make docs

After the first run, you can customize settings in the mounted /ox/etc (optionally store the full directory into a source-code repo) and restart the container without OX_ETC_READONLY.

⁠Variables
VariableDefaultDescription
OX_ADMIN_MASTER_LOGINoxadminmastersystem admin login
OX_CONFIG_DB_HOSTdb00MySQL database hostname
OX_CONFIG_DB_NAMEoxdatadatabase name
OX_CONFIG_DB_USERopenxchangedatabase username
OX_CONTEXT_ADMIN_LOGINoxadmincontext admin login
OX_CONTEXT_ADMIN_EMAIL[email protected]⁠context admin email
OX_CONTEXT_ID1context id (number)
OX_SERVER_NAMEoxserverserver name
OX_SERVER_MEMORY2048server memory limit (MB)

The kubernetes.yaml file supports one additional variable, OX_ETC_READONLY.

⁠Secrets
SecretDescription
ox-admin-passwordcontext admin password
ox-db-passwordconfiguration database password
ox-master-passwordsystem admin password

Tag summary

Content type

Image

Digest

Size

413.8 MB

Last updated

almost 6 years ago

docker pull instantlinux/open-xchange-appsuite