Updated 20.1 Installation using egroupware docker RPM DEB package (markdown)

Ralf Becker 2020-08-12 16:29:15 +02:00
parent e251d686a7
commit 57437fb6fd

@ -1,4 +1,14 @@
> 20.1 is still in a release candidate state, so make proper backup, before updating any essential installations
![](http://www.egroupware.org/wp-content/themes/egroupware/images/logo.svg)
> Please also note the [release notes and distribution specific instructions](https://github.com/EGroupware/egroupware/wiki/20.1-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
@ -10,19 +20,17 @@
* EGroupware now uses TypeScript instead of plain JavaScript to ease client-side development
* mail servers can be [configured to notify EGroupware about new mails](https://github.com/EGroupware/egroupware/wiki/IMAP-Push-Notifications)
### 20.1 packages are currently available only in a special repository
The following example is for Ubuntu 20.04 (replace ```20.04``` with ```18.04``` or ```16.04```, or ```xUbuntu_20.04``` with ```Debian_10```):
> For CentOS, RHEL, openSUSE or SLES [follow the 19.1 instructions](https://github.com/EGroupware/egroupware/wiki/19.1-Release-notes-and-distribution-specific-instructions/_edit#opensuse-151--150-or-sles-15--12) replacing ```server:/eGroupWare``` with ```server:/eGroupWare:/trunk``` in the repository
## 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](https://github.com/EGroupware/egroupware/wiki/20.1-Release-notes-and-distribution-specific-instructions). This is NOT necessary if you update, unless you use EPL before 19.1, which used a different repo.
```
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/server:/eGroupWare:/trunk/xUbuntu_20.04/ /' > /etc/apt/sources.list.d/server:eGroupWare:trunk.list"
sudo apt-get install gnupg # required for Debian 10 to use apt-key add
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 -
apt update
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](https://docs.software-univention.de/app-provider.html#testing:test-app-center) before you get the 20.1 versions offered for updating as usual.
@ -38,7 +46,20 @@ apt install egroupware-docker
```
> If you prefer to use Apache2 on the host as proxy, add ```apache2``` to the above install command.
It will create (or update) the following files in /etc/egroupware-docker:
> 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!)
@ -46,7 +67,36 @@ It will create (or update) the following files in /etc/egroupware-docker:
* **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
1. **egroupware-push** PHP Swoole 7.3 endpoint of all websocket connections
1. **egroupware-nginx** Alpine based container with internal Nginx server
1. **egroupware-watchtower** automatic updating all containers to new version, if available, at 4am daily
> This currently brief information will receive more updates in the next weeks. In the meantime most of the 19.1 documentation is valid for 20.1 too.
## 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
1. egroupware-epl-sitemgr
1. egroupware-epl-phpbrain
1. egroupware-epl-compat (required for update from before EGroupware 14.3!)
1. egroupware-epl-groups ([Group administration for long term CE users](https://github.com/EGroupware/egroupware/wiki/Group-administration-for-long-time-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](https://github.com/EGroupware/docker/blob/master/fpm/entrypoint.sh#L8) 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
```