document Synology installation

Ralf Becker 2020-01-06 11:11:05 +01:00
parent 0c343c3892
commit b8f01be9fb

@ -0,0 +1,75 @@
## Docker-compose installation: Linux, Windows, Mac, Synology, QNAP
EGroupware can be installed directly using Docker-compose, without the use of Linux DEB/RPM packages
https://github.com/EGroupware/egroupware/tree/master/doc/docker#running-egroupware-in-docker
You have to create an arbitrary directory where you place the docker-compose.yml and the nginx.conf file.
In this example we use /etc/egroupware-docker, like the DEB/RPM packages:
```
mkdir /etc/egroupware-docker
cd /etc/egroupware-docker
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/
mkdir data # this is where egroupware data is stored, it's by default a subdir of the directory of docker-compose.yml
docker-compose up -d
```
### Docker Desktop for Mac notes
* directories of volumes must be exported to Docker, by default only your home-directory is!
* permissions of data directory must be writable by your user, as Docker daemon runs as that user!
* db volume must NOT be a directory, as the networked access from Docker VM to the Mac is to slow!
### Docker Desktop for Windows notes
* you can NOT use $PWD to reference the docker-compose directory, use the full path with forward slashes!
* directories of volumes must be exported to Docker!
* db volume must NOT be a directory, as the networked access from Docker VM to Windows is to slow!
### Docker on Linux
* permissions of sources and data directory must be writable by www-data user (#33)
### Synology installation
It's recommened you create a volume ```egroupware``` for EGroupware data on the diskstation:
Control panel >> Shared folder >> Create
```
Name: egroupware
Description: EGroupware data and backups
Location: choose a volume eg. "volume1"
X Hide from network environment
Extended permisons
Activate Trash
```
Install the package "Docker" and ssh into the diskstation as admin
```
sudo su -
<give admin password>
mkdir /etc/egroupware-docker
cd /etc/egroupware-docker
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
ln -s /volume1/egroupware data # use the name of the volume you choose above
docker-compose up -d
docker-compose logs -f
```
Now you can use follow the installation process.
To make EGroupware public accessible you need to create a port-forward on your router for ports 80 and 443, create a DNS entry for your external domain eg. ```egw.example.org``` and on the diskstation:
Control panel >> Application portal >> Reverse proxy >> Create
```
Description: EGroupware
Source
Protocol: HTTPS
Hostname: egw.example.org
Port: 443
Activate HST (makes sense to activate, once everything is working!)
X Activate HTTP/2
Access control (handled by EGroupware itself, do NOT activate)
Target
Protocol: HTTP
Hostname: localhost
Port: 8080 (unless a different port is specified in docker-compose.yml)
```
Control panel >> Security >> Certificates
Create a Let's Encrypt certificate for the chosen domain ```egw.example.org``` (LE requires 80 AND 443!)
EGroupware should then be accessible under https://egw.example.org