forked from extern/egroupware
updating developer install after experiences with Hadi's Ubuntu 22.04 update
This commit is contained in:
parent
5bab72b8be
commit
a5739072e9
@ -48,8 +48,10 @@ RUN apt-get update \
|
||||
&& mkdir -p /run/php \
|
||||
# send logs to stderr to be viewed by docker logs
|
||||
&& ln -s /dev/stderr /var/log/php$PHP_VERSION-fpm.log \
|
||||
# install nodejs 16.x PPA (Shoelace requires >= 14.17, Ubuntu 22.04 only has 12.x)
|
||||
&& curl -fsSL https://deb.nodesource.com/setup_16.x | bash - \
|
||||
# install tools to build EGroupware
|
||||
&& apt-get install -y rsync npm zip curl sudo cron patch \
|
||||
&& apt-get install -y rsync nodejs zip curl sudo cron patch \
|
||||
&& npm install -g grunt-cli \
|
||||
&& bash -c \
|
||||
'EXPECTED_SIGNATURE=$(curl https://composer.github.io/installer.sig); \
|
||||
|
@ -1,13 +1,13 @@
|
||||
# EGroupware development enviroment as Docker container
|
||||
|
||||
The container and docker-compose.yml file in this directory are the most easy way to get a full development enviroment for EGroupware.
|
||||
The container and docker-compose.yml file in this directory are the easiest way to get a full development enviroment for EGroupware.
|
||||
|
||||
### It defines and uses the following volumes:
|
||||
* sources: document root of the webserver, by default $PWD/sources subdirectory, can also be your existing document root
|
||||
* data: EGroupware stores it's files here, by default $PWD/data subdirectory, can also be your existing /var/lib/egroupware
|
||||
* db: volume for MariaDB (should be NOT a directory under Mac OS and Windows for performance reasons!)
|
||||
* data: EGroupware stores its files here, by default $PWD/data subdirectory, can also be your existing /var/lib/egroupware
|
||||
* db: volume for MariaDB (should be NOT a directory under macOS and Windows for performance reasons!)
|
||||
* sessions: volume for sessions, internal no need to change
|
||||
* sources-push: swoolpush sub-directory of sources
|
||||
* sources-push: swoolpush subdirectory of sources
|
||||
* collabora-config: /etc/loolwsd for Collabora container, by default $PWD/data/default/loolwsd
|
||||
* rocketchat-uploads: Upload directory for Rocket.Chat, by default $PWD/data/default/rocketchat/uploads
|
||||
* rocketchat-dumps: Dump directory for MongoDB, by default $PWD/data/default/rocketchat/dump
|
||||
@ -18,6 +18,7 @@ The container and docker-compose.yml file in this directory are the most easy wa
|
||||
* egroupware-db: MariaDB
|
||||
* egroupware-push: PHP Swoole based push server
|
||||
* egroupware-watchtower: to automatic keeps the containers up to date
|
||||
* phpmyadmin: phpMyAdmin to administrate your MariaDB
|
||||
* collabora: Collabora Online Office
|
||||
* rocketchat: Rocket.Chat
|
||||
* rocketchat-mongo: MongoDB for Rocket.Chat
|
||||
@ -75,4 +76,10 @@ service:
|
||||
* do not use ```http://localhost/egroupware/```, as push, Collabora and Rocket.Chat will not be able to communicate
|
||||
- localhost in each container is NOT the host system, but the container itself!
|
||||
- give you development system a name and add it to the hosts ```/etc/hosts``` as: ```127.0.0.1 devbox.egroupware.org```
|
||||
- add it as ```extra_host: - "devbox.egroupware.org:172.17.0.1"``` to each service which as a commented out extra_host
|
||||
- add it as ```extra_host: - "devbox.egroupware.org:172.17.0.1"``` to each service which as a commented out extra_host
|
||||
* Ubuntu 22.04 docker adds firewall rules disabling access to docker0 / 172.17.0.1 from within the containers.
|
||||
Stopping eg. FPM to access IDE/PHPStorm debug port or a MariaDB running on the host bound to 172.17.0.1.
|
||||
To fix that, you have to create an explicit firewall rule to allow containers to acces 172.17.0.1:
|
||||
```bash
|
||||
sudo ufw allow from 172.16.0.1/12 to 172.17.0.1/32 port 9001,3306
|
||||
```
|
@ -207,9 +207,6 @@ services:
|
||||
- collabora-config:/etc/loolwsd
|
||||
# support for Collabora/CODE 21.11+
|
||||
- collabora-config:/etc/coolwsd
|
||||
# don't try to regenerate the (not used certificate) as volume is readonly
|
||||
environment:
|
||||
- DONT_GEN_SSL_CERT=1
|
||||
restart: always
|
||||
container_name: collabora-key
|
||||
# set the ip-address of your docker host AND your official DNS name so Collabora
|
||||
|
@ -25,6 +25,7 @@ git config --global user.email || git config --global user.email "you@example.co
|
||||
&& ln -sf egroupware/api/templates/default/images/favicon.ico \
|
||||
&& composer.phar create-project --prefer-source --keep-vcs --no-scripts $COMPOSER_EXTRA egroupware/egroupware:$VERSION \
|
||||
&& cd egroupware \
|
||||
&& mkdir chunks \
|
||||
&& ./install-cli.php \
|
||||
&& ln -sf /var/lib/egroupware/header.inc.php \
|
||||
&& sed -e 's/apache/www-data/' -e 's|/usr/share|/var/www|g' doc/rpm-build/egroupware.cron > /etc/cron.d/egroupware
|
||||
@ -44,21 +45,6 @@ do
|
||||
}
|
||||
done
|
||||
|
||||
# install phpMyAdmin sources, if not already there
|
||||
[ -d /var/www/phpmyadmin ] || {
|
||||
cd /var/www \
|
||||
&& composer.phar create-project --prefer-source --keep-vcs --no-scripts phpmyadmin/phpmyadmin \
|
||||
&& cd phpmyadmin \
|
||||
&& yarn install || true
|
||||
}
|
||||
[ -f /var/www/phpmyadmin/config.inc.php ] || {
|
||||
cd /var/www/phpmyadmin \
|
||||
&& blowfish_secret=$(php -r "echo base64_encode(random_bytes(24));") \
|
||||
&& sed -e "s/localhost/db/g" \
|
||||
-e "s/cfg\['blowfish_secret'\] = '';/cfg['blowfish_secret'] = '$blowfish_secret';/g" \
|
||||
config.sample.inc.php > config.inc.php
|
||||
}
|
||||
|
||||
# create data directory
|
||||
[ -d /var/lib/egroupware/default ] || {
|
||||
mkdir -p /var/lib/egroupware/default/files/sqlfs \
|
||||
|
@ -171,7 +171,7 @@ server {
|
||||
}
|
||||
|
||||
# phpMyAdmin
|
||||
location /phpmyadmin/ {
|
||||
location ^~ /phpmyadmin/ {
|
||||
proxy_pass http://phpmyadmin/;
|
||||
#include proxy_params;
|
||||
proxy_read_timeout 60m;
|
||||
|
Loading…
Reference in New Issue
Block a user