egroupware icon indicating copy to clipboard operation
egroupware copied to clipboard

Web based groupware server written in PHP, forum at https://help.egroupware.org/

EGroupware

Tools Usage
Travis CI runs unit-tests after each commit
Scrutinizer CI scrutinizer runs static analysis on our codebase
BrowserStack manual testing with unusual browser versions or platforms

Default and prefered installation method for EGroupware is via your Linux package manager:

Every other method (including a developer installation by cloning the repo) is way more complicated AND does not include all features, as part's of EGroupware are running in different containers, eg. the push-server!

Installing EGroupware 21.1 via Docker for non-Linux environments or not supported Linux distros:

EGroupware 21.1 can be installed via Docker, in fact the DEB/RPM packages also does that. Instructions on how to run EGroupware in Docker are in our Wiki and in doc/docker subdirectory.

Installing EGroupware development version via Docker:

  • this is the prefered developer installation, as it contains eg. a push-server container
  • https://github.com/EGroupware/egroupware/tree/master/doc/docker/development

Deprecated EGroupware development installation:

  • install composer.phar from https://getcomposer.org/download/
  • for JavaScript dependencies and build install nodejs and npm
  • optional: for minified CSS install grunt
apt/yum/zypper install nodejs
npm install -g grunt-cli
  • install EGroupware and dependencies
cd /path/to/your/docroot
git clone https://github.com/EGroupware/egroupware.git # or [email protected]:EGroupware/egroupware.git for ssh
cd egroupware
./install-cli.php
  • install non-default EGroupware apps by cloning them into your egroupware directory eg.
cd /path/to/your/egroupware
git clone https://github.com/EGroupware/wiki.git
  • continue installation at http://localhost/egroupware/setup/

Keeping EGroupware up to date or switch to release branch:

cd /path/to/your/egroupware
./install-cli.php [<change-channel>]
setup/setup-cli.php # will tell you if a schema-update is necessary

install-cli.php supports the following "channels":

  • release: taged maintenance releases only eg. 19.1.20200701
  • bugfix: release-branch incl. latest bugfixes eg. 20.1, if you are currently on 20.1.20200710
  • <branch>: switch to given branch
  • master: latest development for next release

To change the channel, call install-cli.php <channel-to-update-to>.

For further instalation instructions see our wiki.