Hallo Zusammen,
habe nicht viel Ahnung von Docker, weil ich mich seit kurzem damit beschäftige…
versuche seit ein paar Tagen EGroupware mit Hilfe des Forums zu Installieren…
bekomm es leider nicht hin…
meine Hardware mit allen Einstellungen:
Synology VM mit 4GB Ram frisch installiert ( zum Testen )
SSL Zertifikat auf dem NAS Server vorhanden
Reverse Proxy
Protokoll Hostname Port
HTTPS subdomain.domain.xx 443/ HSTS
Ziel
Protokoll Hostname Port
HTTP localhost 8080
Router Port 443 auf NAS IP geöffnet
alle nötigen Ordner angelegt ( docker-compose.yml von Ralf )
hab die docker-compose.yml etwas angepasst, wegen der Fehler
in den einzelnen Containern…
über Google bin ich auch nicht fündig geworden und mein English ist sehr schlecht.
Mein docker-compose.yml sieht wie folgt aus:
version: '3'
volumes:
sources:
db:
data:
driver_opts:
type: none
o: bind
# to upgrade an existing non-docker installation most easy is to use the existing
# data directory /var/lib/egroupware AND the host database see below
#device: /var/lib/egroupware
# otherwise data is stored in data subdirectory of the current directory
device: $PWD/data
# extra sources with apps not part of egroupware container
#extra:
# driver_opts:
# type: none
# o: bind
# # location of deprecated EGroupware packages like Wiki, SiteMgr, KnowledgeBase
# device: /usr/share/egroupware
# #device: $PWD/extra
# collabora-config
collabora-config:
driver_opts:
type: none
o: bind
# to upgrade an existing non-docker installation most easy is to use the existing
# data directory /var/lib/egroupware AND the host database see below
#device: /var/lib/egroupware/default/loolwsd
# otherwise data is stored in data subdirectory of the current directory
device: $PWD/data/default/loolwsd
# store Rocket.Chat MongoDB on an (internal) Volume
mongo:
# directory to store MongoDB dumps
rocketchat-dumps:
driver_opts:
type: none
o: bind
device: $PWD/data/default/rocketchat/dump
rocketchat-uploads:
driver_opts:
type: none
o: bind
device: $PWD/data/default/rocketchat/uploads
services:
egroupware:
image: egroupware/egroupware:latest
# EPL image: download.egroupware.org/egroupware/epl:latest
# setting a default language for a new installation
#environment:
# - LANG=de
volumes:
- ./sources:/usr/share/egroupware
# extra-sources rsync from entry-point into sources
#- extra:/usr/share/egroupware-extra
- ./data:/var/lib/egroupware
# if you want to use the host database:
# 1. comment out the whole db service below AND
# 2. set EGW_DB_HOST=localhost AND
# 3. uncomment the next line and modify the host path (first one), it depends on your distro:
# - RHEL/CentOS /var/lib/mysql/mysql.sock:/var/run/mysqld/mysqld.sock
# - openSUSE/SLE /var/run/mysql/mysql.sock:/var/run/mysqld/mysqld.sock
# - Debian/Ubuntu /var/run/mysqld:/var/run/mysqld
#- /var/run/mysqld:/var/run/mysqld
# private CA so egroupware can validate your certificate to talk to Collabora or Rocket.Chat
# multiple certificates (eg. a chain) have to be single files in a directory, with one named private-ca.crt!
#- /etc/egroupware-docker/private-ca.crt:/usr/local/share/ca-certificates/private-ca.crt:ro
environment:
# MariaDB/MySQL host to use: for internal service use "db", for host database (socket bind-mounted into container) use "localhost"
- EGW_DB_HOST=db
# grant host is needed for NOT using localhost / unix domain socket for MySQL/MariaDB
- EGW_DB_GRANT_HOST=172.%
# for internal db service you should to specify a root password here AND in db service
# a database "egroupware" with a random password is created for you on installation (password is stored in header.inc.php in data directory)
#- EGW_DB_ROOT=root
- EGW_DB_ROOT_PW=secret
# alternativly you can specify an already existing database with full right by the given user!
#- EGW_DB_NAME=egroupware
#- EGW_DB_USER=egroupware
#- EGW_DB_PASS=
# further post_install.php arguments can be passed as a single enviroment variable with space separated assignments
# "<name1>=<value1> <name2>=<value2>" see https://github.com/EGroupware/egroupware/blob/master/doc/rpm-build/post_install.php#L17
# to configure eg. LDAP for authentication and account storage use
#- EGW_POST_INSTALL='account-auth=ldap,ldap ldap_base=ou=egroupware,dc=example,dc=org ldap_host=tls://ldap.example.org ldap_admin=cn=admin,$base ldap_admin_pw=secret ldap_context=cn=users,$base ldap_group_context=cn=groups,$base'
restart: always
depends_on:
- db
container_name: egroupware
# set the ip-address of your docker host AND your official DNS name so EGroupware
# can access Rocket.Chat or Collabora without the need to go over your firewall
extra_hosts:
- "subdomain.domain.xx:NAS IP ohne port"
nginx:
image: nginx:stable-alpine
volumes:
- ./sources:/usr/share/egroupware:ro
# to add a certificate create a certificate.pem containing (in that order)
# 1. private key
# 2. public key
# 3. (optional) chain certificates
# uncomment to the next line
# ./certificate.pem:/etc/ssl/private/certificate.pem
# AND uncomment the three lines starting with "listen 443", "ssl_certificate", "ssl_certificate_key" in nginx.conf
- ./nginx.conf:/etc/nginx/conf.d
ports:
# if no webserver is running on the host, change (first) number to 80 or 443
- "8080:80"
- "4443:443"
depends_on:
- egroupware
- collabora-key
- rocketchat
container_name: egroupware-nginx
# run an own MariaDB:10.4 (you can use EGroupware's database backup and restore to add your existing database)
db:
image: mariadb
environment:
#- MYSQL_ROOT=root
- MYSQL_ROOT_PASSWORD=secret
volumes:
- ./db:/var/lib/mysql
container_name: egroupware-db
# automatic updates of all containers daily at 4am
# see https://containrrr.github.io/watchtower for more information
watchtower:
image: containrrr/watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
# For automatic EPL Updates (not necessary for CE!) you need to pass docker
# credentials into watchtower after running: docker login download.egroupware.org
#- /root/.docker/config.json:/config.json:ro
environment:
- WATCHTOWER_CLEANUP=true # delete old image after update to not fill up the disk
# for email notifications add your email and mail-server here
#- WATCHTOWER_NOTIFICATIONS=email
#- WATCHTOWER_NOTIFICATIONS_LEVEL=info # possible values: panic, fatal, error, warn, info or debug
#- WATCHTOWER_NOTIFICATION_EMAIL_FROM=watchtower@my-domain.com
#- WATCHTOWER_NOTIFICATION_EMAIL_TO=me@my-domain.com
#- WATCHTOWER_NOTIFICATION_EMAIL_SERVER=mail.my-domain.com # if you give your MX here, you need no user/password
#- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=25
#- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=watchtower@my-domain.com
#- WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=secret
command: --schedule "0 0 4 * * *"
container_name: egroupware-watchtower
restart: always
# Collabora Online Office
collabora-key:
image: "quay.io/egroupware/collabora-key:stable"
#image: collabora/code:latest
# needs to be initialised via: docker run --rm -v dev_collabora-config:/mnt --entrypoint '/bin/cp -r /etc/loolwsd /mnt' quay.io/egroupware/collabora-key:stable
volumes:
- ./collabora-config:/etc/loolwsd
# dont try to regenerate the (not used certificate) as volumn 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
# can access EGroupware without the need to go over your firewall
extra_hosts:
- "subdomain.domain.xx:NAS IP ohne port"
# Rocket.Chat server
rocketchat:
image: rocketchat/rocket.chat:latest
command: bash -c 'for i in `seq 1 30`; do node main.js && s=$$? && break || s=$$?; echo "Tried $$i times. Waiting 5 secs..."; sleep 5; done; (exit $$s)'
restart: unless-stopped
volumes:
- ./rocketchat-uploads:/app/uploads
# if EGroupware uses a certificate from a private CA, OAuth authentication will fail, you need to:
# - have the CA certificate stored at /etc/egroupware-docker/private-ca.crt
# - uncomment the next 2 lines about the private CA:
# - /etc/egroupware-docker/private-ca.crt:/usr/local/share/ca-certificates/private-ca.crt:ro
environment:
# - NODE_EXTRA_CA_CERTS=/usr/local/share/ca-certificates/private-ca.crt
# IMPORTANT: change ROOT_URL to your actual url eg. https://domain.com/rocketchat
- ROOT_URL=http://subdomain.domain.xx/rocketchat
- PORT=3000
- MONGO_URL=mongodb://mongo:27017/rocketchat
- MONGO_OPLOG_URL=mongodb://mongo:27017/local
- HTTP_PROXY=http://subdomain.domain.xx
- HTTPS_PROXY=https://subdomain.domain.xx
depends_on:
- mongo
container_name: rocketchat
# set the ip-address of your docker host AND your official DNS name so Rocket.Chat
# can access EGroupware without the need to go over your firewall
extra_hosts:
- "subdomain.domain.xx:NAS IP ohne port"
# MongoDB for Rocket.Chat
mongo:
image: mongo:4.0
restart: unless-stopped
volumes:
- ./mongo:/data/db
- ./rocketchat-dumps:/dump
command: mongod --smallfiles --oplogSize 128 --replSet rs0 --storageEngine=mmapv1
container_name: rocketchat-mongo
# this container's job is just run the command to initialize the replica set.
# it will run the command and remove himself (it will not stay running)
mongo-init-replica:
image: mongo:4.0
command: 'bash -c "for i in `seq 1 30`; do mongo mongo/rocketchat --eval \"rs.initiate({ _id: ''rs0'', members: [ { _id: 0, host: ''localhost:27017'' } ]})\" && s=$$? && break || s=$$?; echo \"Tried $$i times. Waiting 5 secs...\"; sleep 5; done; (exit $$s)"'
depends_on:
- mongo
und zum Schluss die letzten Fehler und die Seite kann nicht angezeigt werden:
ich hab keine Ahnung, wie ich diese Fehler beheben kann…
colabora-key = Neustart erfolgt
Im Protokoll:
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = “en_US.UTF-8”,
LANG = (unset)
are supported and installed on your system.
perl: warning: Falling back to the standard locale (“C”).
Can’t open /etc/loolwsd/loolwsd.xml: No such file or directory.
egroupware_mongo-init-replica_1 = angehalten
Im Protokoll:
MongoDB shell version v4.0.20
connecting to: mongodb://mongo:27017/rocketchat?gssapiServiceName=mongodb
2020-10-08T13:57:38.409+0000 E QUERY [js] Error: couldn’t connect to server mongo:27017, connection attempt failed: SocketException: Error connecting to mongo:27017 (172.20.0.5:27017) :: caused by :: Connection refused :
connect@src/mongo/shell/mongo.js:344:17
@(connect):2:6
exception: connect failed
Tried 1 times. Waiting 5 secs…
egroupware = läuft
Im Protokoll:
Fix APC(u) configuration, set apc.shm_size=128M in /etc/php/7.3/cli/conf.d/20-apcu.ini
/usr/bin/php7.3 -d memory_limit=-1 /usr/share/egroupware/setup/setup-cli.php --setup-cmd-database sub_command=create_db ‘domain=default’ ‘db_type=mysqli’ ‘db_host=db’ ‘db_port=3306’ ‘db_name=egroupware’ ‘db_user=egroupware’ ‘db_pass=b7OCULQcTo}I;:-@’ ‘db_root=root’ ‘db_root_pw=secret’ 'db_grant_host=172.%'
Can not connect to mysqli database mysql on host db:3306 using user root! (ADOdb::Connect(db:3306, root, $Password, mysql) failed.)
Installation failed --> exiting!
Retrying EGroupware installation in 3 seconds …
EGroupware\Api\Etemplate\Widget::scanForWidgets() wrong class for Htmlarea: EGroupware\Api\Etemplate\Widget::scanForWidgets:387 / require_once:1046(/api/src/Etemplate/Widget.php) / {closure}:50(EGroupware\Api\Etemplate\Widget) / spl_autoload_call(EGroupware\Api\Etemplate\Widget) / require_once:22(/api/src/Etemplate/Widget/HtmlArea.php) / {closure}:50(EGroupware\Api\Etemplate\Widget\HtmlArea) / spl_autoload_call(EGroupware\Api\Etemplate\Widget\HtmlArea) / preferences_hooks::settings:461 / ExecMethod:179(preferences_hooks::settings) / setup->set_default_preferences:720 / setup_process->current:470 / setup_process->pass:147 / setup_cmd_install->exec:117 / admin_cmd->run:239 / do_install:356(Array)
PHP Deprecated: stripos(): Non-string needles will be interpreted as strings in the future. Use an explicit chr() call to preserve the current behavior in /usr/share/egroupware/api/src/Storage.php on line 591
Timezones updated to version 2.2020a (547 records updated).
Timezones aliases updated to version 2020-10-05 09:25:37 (87 records updated).
/usr/bin/php7.3 -d memory_limit=-1 /usr/share/egroupware/setup/setup-cli.php --admin 'default,admin,<7jTFdQ(8l93prf>,sysop,F3wuvDlU5>3Oy6kI,en’
An error happened!: Access to undeclared static property: EGroupware\SwoolePush\Backend::$failed_attempts
Installation failed --> exiting!
Retrying EGroupware installation in 3 seconds …
EGroupware successful updated
/bin/chown: cannot access ‘/var/lib/egroupware/*/files/sqlfs’: No such file or directory
- Starting periodic command scheduler cron
…done.
[08-Oct-2020 14:08:29] NOTICE: fpm is running, pid 1
[08-Oct-2020 14:08:29] NOTICE: ready to handle connections
[08-Oct-2020 14:08:29] NOTICE: systemd monitor interval set to 10000ms
egroupware-db = läuft
Im Protokoll:
Warning: Unable to load ‘/usr/share/zoneinfo/leap-seconds.list’ as time zone. Skipping it.
Warning: Unable to load ‘/usr/share/zoneinfo/leapseconds’ as time zone. Skipping it.
Warning: Unable to load ‘/usr/share/zoneinfo/tzdata.zi’ as time zone. Skipping it.
2020-10-08 13:58:59 5 [Warning] ‘proxies_priv’ entry ‘@% root@20532feee305’ ignored in --skip-name-resolve mode.
2020-10-08 13:58:59+00:00 [Note] [Entrypoint]: Stopping temporary server
2020-10-08 13:58:59 0 [Note] mysqld (initiated by: root[root] @ localhost ): Normal shutdown
2020-10-08 13:58:59 0 [Note] Event Scheduler: Purging the queue. 0 events
2020-10-08 13:58:59 0 [Note] InnoDB: FTS optimize thread exiting.
2020-10-08 13:59:00 0 [Note] InnoDB: Starting shutdown…
2020-10-08 13:59:00 0 [Note] InnoDB: Dumping buffer pool(s) to /var/lib/mysql/ib_buffer_pool
2020-10-08 13:59:00 0 [Note] InnoDB: Buffer pool(s) dump completed at 201008 13:59:00
2020-10-08 13:59:01 0 [Note] InnoDB: Shutdown completed; log sequence number 45520; transaction id 24
2020-10-08 13:59:01 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
2020-10-08 13:59:02 0 [Note] mysqld: Shutdown complete
2020-10-08 13:59:02+00:00 [Note] [Entrypoint]: Temporary server stopped
2020-10-08 13:59:02+00:00 [Note] [Entrypoint]: MySQL init process done. Ready for start up.
2020-10-08 13:59:04 3 [Warning] Access denied for user ‘egroupware’@‘172.20.0.6’ (using password: YES)
2020-10-08 13:59:04 4 [Warning] Access denied for user ‘egroupware’@‘172.20.0.6’ (using password: YES)
2020-10-08 13:59:04 5 [Warning] Access denied for user ‘egroupware’@‘172.20.0.6’ (using password: YES)
egroupware-nginx = läuft
Im Protokoll:
10-listen-on-ipv6-by-default.sh: error: /etc/nginx/conf.d/default.conf is not a file or does not exist
rocketchat = läuft
Im Protokoll:
MongoNetworkError: failed to connect to server [mongo:27017] on first connect [Error: connect ECONNREFUSED 172.20.0.5:27017
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16) {
name: ‘MongoNetworkError’
}]
MongoError: not master and slaveOk=false
at Connection. (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/core/connection/pool.js:451:61)
at Connection.emit (events.js:315:20)
at processMessage (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/core/connection/connection.js:452:10)
at Socket. (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/core/connection/connection.js:621:15)
at Socket.emit (events.js:315:20)
at addChunk (_stream_readable.js:295:12)
at readableAddChunk (_stream_readable.js:271:9)
at Socket.Readable.push (_stream_readable.js:212:10)
at TCP.onStreamRead (internal/stream_base_commons.js:186:23) {
rocketchat-mongo = läuft
Im Protokoll:
2020-10-08T13:57:23.516+0000 I STORAGE [initandlisten] ** WARNING: You have explicitly specified ‘MMAPV1’ storage engine in your
2020-10-08T13:57:23.516+0000 I STORAGE [initandlisten] ** config file or as a command line option. Support for the MMAPV1
2020-10-08T13:57:23.516+0000 I STORAGE [initandlisten] ** storage engine has been deprecated and will be removed in
2020-10-08T13:57:23.516+0000 I STORAGE [initandlisten] ** version 4.2. See http://dochub.mongodb.org/core/deprecated-mmapv1
2020-10-08T13:57:53.709+0000 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2020-10-08T13:57:53.709+0000 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2020-10-08T13:57:53.710+0000 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 15774 processes, 524288 files. Number of processes should be at least 262144 : 0.5 times number of files.
und dies hab ich mit dem befehl von Ralf gemacht docker-compose logs -f
Attaching to egroupware-nginx, rocketchat, egroupware_mongo-init-replica_1, egroupware, rocketchat-mongo, collabora-key, egroupware-watchtower, egroupware-db
collabora-key | WARNING: no logs are available with the ‘db’ log driver
egroupware | WARNING: no logs are available with the ‘db’ log driver
collabora-key exited with code 129
egroupware-db | WARNING: no logs are available with the ‘db’ log driver
egroupware-nginx | WARNING: no logs are available with the ‘db’ log driver
egroupware-watchtower | WARNING: no logs are available with the ‘db’ log driver
mongo-init-replica_1 | WARNING: no logs are available with the ‘db’ log driver
rocketchat | WARNING: no logs are available with the ‘db’ log driver
egroupware_mongo-init-replica_1 exited with code 0
rocketchat-mongo | WARNING: no logs are available with the ‘db’ log driver
Im voraus vielen Dank an alle
VG Musty