Skip to content

20.1 Installation using egroupware docker RPM DEB package

Ralf Becker edited this page Aug 12, 2020 · 12 revisions

Please also note the release notes and distribution specific instructions

The 20.1 installation is based on Docker, even for the DEB or RPM packages. The only requirement for the host system is Docker.

20.1 contains an additional push-server container and runs - for new installations - MariaDB 10.4 in a container too.

Docker and the database are installed with/by EGroupware in the correct versions. There is no previous installation necessary and also not reasonable.

There is no difference in most parts of the installation between community edition (CE) and EGroupware GmbH EPL version. Same is true for an in-place upgrade from 17.1 and a new installation.

Major differences from a 19.1 installation

  • push server in an additional egroupware-push container, allowing instant updates without polling
  • new installations use MariaDB 10.4 in an additional egroupware-db container (19.1 updates keep using the database on the host)
  • new installations use Nginx as webserver/proxy on the host by default, unless you specify explicitly to use Apache2
  • modifications to docker-compose file are now kept in a separate docker-compose.override.yml to ease updates
  • Rocket.Chat is no longer automatic installed, as you should install your https certificate before!
  • EGroupware now uses TypeScript instead of plain JavaScript to ease client-side development
  • mail servers can be configured to notify EGroupware about new mails

20.1 installation or update

You first need to create a repository file for your Linux distribution and version and import the key for it. I'll show it here in details for Ubuntu 20.04, for other distributions use the above link. This is NOT necessary if you update, unless you use EPL before 19.1, which used a different repo.

echo 'deb http://download.opensuse.org/repositories/server:/eGroupWare/xUbuntu_20.04/ /' | sudo tee /etc/apt/sources.list.d/server:eGroupWare.list
sudo apt install gnupg # required, but not installed by apt-key add in Debian 10 
wget -nv https://download.opensuse.org/repositories/server:eGroupWare/xUbuntu_20.04/Release.key -O - | sudo apt-key add -
sudo apt update

(replace 20.04 with 18.04 or 16.04, or xUbuntu_20.04 with Debian_10)

We have now also a 20.1 Univention App available in their TestAppCenter, which need to be enabled before you get the 20.1 versions offered for updating as usual.

To upgrade in place from 19.1

apt upgrade

Use the default to NOT replace config-files, if you are asked. The update script takes care of all necessary changes!

For a new 20.1 installation

apt install egroupware-docker

If you prefer to use Apache2 on the host as proxy, add apache2 to the above install command.

Package installation under Debian/Ubuntu/SUSE recommends Collabora Online Office, which mean it will be installed by default, unless you opt out by using --no-install-recommends on the command line. Doing so you have to take care of explicitly installing MariaDB! Of cause you can always deinstall them after testing, if you prefer to use something else.

If this is a new installation and you missed the credentials of your first EGroupware admin user "sysop" or the EGroupware setup user "admin", you can always find them under /var/lib/egroupware/egroupware-docker-install.log.

How to install EGroupware GmbH's EPL version

The update described above will remove the EPL packages, of cause leaving your data intact. To install the EPL source / run the EPL container you need your download.egroupware.org credentials and run the following command:

/etc/egroupware-docker/use-epl.sh

It will ask your EPL repo credentials, add them and the EPL image to your docker-compose.override.yml file and start the EPL container.

Some more technical information what the installation is actually doing

  • the package will install docker, docker-compose, if not already installed and create (or update) the following files in /etc/egroupware-docker:
  • nginx.conf config for using Nginx as proxy on the host, symlinked to /etc/nginx/conf.d/egroupware.conf
  • apache.conf config for using Apache2 on the host, symlinked to /etc/apache2/sites-{enabled,avalable}/egroupware.conf
  • docker-compose.override.yml for local modifications with many commented out examples (contains your 19.1 docker-compose.yml in case of an update!)
  • .env contains root password of MariaDB container
  • mariadb.cnf file to overfide MariaDB configuration in the container
  • docker-compose.yml, latest-*.yml or create-override.sh do NOT modify!
  • use-epl.sh script to update to EPL (EGroupware GmbH subscription version)
  • mysql.sh run mysql command on MariaDB running in egroupware-db container (can be copied to mysqldump.sh too!)
  • egroupware-logs.sh tail EGroupware's error-log
  • EGroupware files will be store (as usual) in /var/lib/egroupware on the host
  • it will start the following container:
  1. egroupware Ubuntu 20.04 based container with PHP 7.3 FPM and the EGroupware sources
  2. egroupware-push PHP Swoole 7.3 endpoint of all websocket connections
  3. egroupware-nginx Alpine based container with internal Nginx server
  4. egroupware-watchtower automatic updating all containers to new version, if available, at 4am daily

Access to services (LDAP, IMAP, SMTP, ...) running on the host / localhost

As EGroupware is running in a container, it's localhost is not the same as the host. So if eg. your LDAP is configured in EGroupware setup to run under localhost or 127.0.0.1, you need to change that to the IP address of the host, or the hosts address on the docker0 bridge, usually 172.17.0.1.

To do so go to http(s)://your.host-or-ip/egroupware/setup/ and use the upper login box with the credentials from /var/lib/egroupware/egroupware-docker-install.log. Then click on [Edit current configuration] and change the LDAP host to 172.17.0.1

How to install third party or deprecated apps or update from before 14.3

The following apps, which are deprecated since 14.3, are no longer part of 19.1:

  1. egroupware-epl-wiki
  2. egroupware-epl-sitemgr
  3. egroupware-epl-phpbrain
  4. egroupware-epl-compat (required for update from before EGroupware 14.3!)
  5. egroupware-epl-groups (Group administration for long term CE users)

They can however be installed from 17.1 repo or are kept in case of an update.

They will work with the 20.1 container, as docker-compose.yml passes /usr/share/egroupware from the host into the container as /usr/share/egroupware-extra. The container entrypoint script copies them into the volume shared between egroupware container and Nginx.

This mechanism can also be used to add arbitrary third-party apps to an EGroupware running in a container:

mkdir -p /usr/share/egroupware
cd /usr/share/egroupware
git clone <git-url>
docker restart egroupware
Clone this wiki locally