2019-07-19 10:07:43 +02:00
# Running EGroupware in Docker
2022-07-19 15:45:09 +02:00
> This is NOT the recommended way of installing EGroupware on a Linux server!
> Please consult the [installation instructions in our wiki](https://github.com/EGroupware/egroupware/wiki/Installation-using-egroupware-docker-RPM-DEB-package).
2019-07-19 10:07:43 +02:00
## Quick instructions
```
curl https://raw.githubusercontent.com/EGroupware/egroupware/master/doc/docker/docker-compose.yml > docker-compose.yml
curl https://raw.githubusercontent.com/EGroupware/egroupware/master/doc/docker/nginx.conf > nginx.conf
# edit docker-compose.yml or nginx.conf, by default it will run on http://localhost:8080/
2023-04-07 15:48:13 +02:00
# create a few directories upfront, otherwise the containers won't start up:
2019-08-18 12:44:53 +02:00
mkdir data # this is where egroupware data is stored, it's by default a subdir of the directory of docker-compose.yml
2023-04-05 10:05:23 +02:00
mkdir -p data/default/loolwsd # this is where collabora config is stored
2023-04-07 15:48:13 +02:00
mkdir -p data/default/rocketchat/dump # rocket.chat dumps
mkdir -p data/default/rocketchat/uploads # rocket.chat uploads
mkdir sources # egroupware sources will show up in this folder
2019-07-19 10:07:43 +02:00
docker-compose up -d
2023-07-10 16:02:30 +02:00
# grand access rights to source sub folders
#remove sources/egroupware/swolepush --> egw install complains that /egroupware has to be empty
2019-07-19 10:07:43 +02:00
```
## More information
The provided docker-compose.yml will run the following container:
2023-03-08 15:27:37 +01:00
* **egroupware** running latest PHP 8.1 as FPM (see fpm subdirectory for more information)
* **egroupware-push** running PHP 8.1 Swoole Alpine image for websocket connections
2019-07-19 10:07:43 +02:00
* **egroupware-nginx** running Nginx as webserver (by default http only on port 8080)
2023-03-08 15:27:37 +01:00
* **egroupware-db** latest MariaDB 10.6
2019-07-19 10:07:43 +02:00
* **egroupware-watchtower** updating all above container automatically daily at 4am
2020-02-11 14:25:11 +01:00
* **collabora-key** Collabora Online Office
2022-07-19 15:45:09 +02:00
* **collabora-init** Collabora init container to generate the configuration once
2020-02-11 14:25:11 +01:00
* **rocketchat** Rocket.Chat server
* **rocketchat-mongodb** MongoDB for Rocket.Chat
2020-04-02 21:56:08 +02:00
* **portainer** Portainer Docker GUI
2023-09-28 08:47:23 +02:00
## Docker files: docker-compose.yml and docker-compose.overwrite.yml
The [docker-compose.yml ](docker-compose.yml ) should be left unchanged for easier updating.
You can place your changes in a ```docker-compose.override.yml``` file:
```yml
version: '3'
services:
egroupware:
image: egroupware/egroupware:23.1
extra_hosts:
- "egw.example.org:172.17.0.1"
```