1 / 10
Oct 2020

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.sh1: 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

  • created

    Oct '20
  • last reply

    Oct '20
  • 9

    replies

  • 3.6k

    views

  • 2

    users

  • 7

    links

Hallo Mustafa.

Ich bin da sicher auch nicht der richtige mit dir EGw auf einem Synology zu installieren…
Aber Fragen habe ich:

Ist das dann eine KVM-VM mit einem installierten OS/EGw?
So?:

Oder versuchst du den/die Docker-Container “zu Fuss” zu installieren?

Für Docker Installation hätte ich da zwei Links:


Stefan

Hallo Stefan,
danke für die schnelle Antwort …
die synology vm läuft in einer synology wo ich docker installiert habe…
hab schon einige vm‘s zerschossen, was nicht schlimm ist…hab mir gestern nochmal 5 Clones erstellt.
Docker Version müsste 18 sein und Docker compose ist die aktuellste 1.27.4 drauf…
einen schönen Abend…
VG Musty

Sorry, verstehe ich nicht.
Kannst du das bebildern?

Stefan

Docker version 18.09.8, build bfed4f5
docker-compose version 1.27.4, build 40524192

Hmmm…
Du hast also in einer (KVM)-VM auf einem Synology-System noch einmal die Synology-Software laufen?
Und versuchst dann darin per Docker-Compose zu installieren?

Warum? Ich empfinde das gerade als ziemlich unsinnig.
Entweder du erstellst eine VM auf dem NAS, installierts ein OS (z. B. Debian 10) und installierst EGroupware per Paket-Installation. Fertig. Musst dich “nur” um das Netzwerk-Thema/Zugriff kümmern.

Oder du installierst direkt auf den NAS unter Docker. Dann musst du aber wissen was du machst oder dir das erarbeiten. Das ist sicher kein Anfänger-Thema. In die Richtung gingen die zwei Links oben.

Aber vielleicht bin ich gerade auch ganz falsch abgebogen…

Stefan

Hallo Stefan,
das hatte ich mir auch schon überlegt, aber wegen der Resourcen wollte ich nur das nötigste unter Docker zum laufen bringen,
weil ich noch ein paar andere Anwendungen testen möchte…OnlyOffice hab ich zum laufen gebracht ( hab drei Wochen dafür gebraucht )… das OnlyOffice frisst aber leider 3,5 GB Ram im leerlauf.
wie truckthor schon mit Ralf unter “Egw 19.1 auf Synology Diskstation installieren” gepostet hat, ist es auch mein vorhaben…
Wenn ich EGroupware zum Laufen bekomme, soll es später NICHT in einer VM im Docker laufen, sondern direkt auf dem NAS-Server unter Docker…
Derzeit bezitze ich:
QNAP-TS-251 8GB RAM mit 6 Synology DSM 6.2 VM’s ( wird verkauft )
Synology DS-218+ 16GB RAM 1 Jahr alt nicht benutzt ( wird auch verkauft )
und die folgenden Geräte sind zum testen, womit ich derzeit arbeite:
HP Proliant ML110 8GB RAM Server mit Synology-DSM 6.2
ASRock PC mit 8GB RAM mit Synology-DSM 6.2 - hier laufen die Synology-DSM VM’s zum testen, wo auch Docker drauf läuft…
Werde natürlich auch weiterhin versuchen, EGroupware auf dem NAS-Server unter Docker zu installieren
auf dem QNAP NAS-Server unter Docker hab ich es noch nicht gemacht, werde ich aber auch noch versuchen…
ich werde deine Idee umsetzen und berichten…
ich danke dir erstmal rechtherzlich und wünsche allen ein schönes WE, falls wir uns nicht hören…
solltest noch Fragen haben, versuch ich dir gerne zu Beantworten…
VG Musty

Hallo Mustafa.

Langsam verstehe ich…


Also eine KVM-VM mit einem Debian10 benötigt

60 MB nackt
85 MB mit laufendem Webmin
360MB als laufende VM auf dem Host

Meine Private EGw-Installation läuft auf einem Proxmox und benötigt
2GB RAM (4 GB zugewiesen)
2 Kerne

Installiert ist (und laufen)

  • EGw (+ zugehörige Container)
  • Collabora Online
  • Rocket.Chat
  • Guacamole
  • Datenbank

Also sozusagen Vollinstallation.
Das reicht auch für ein kleines Unternehmen.

Du siehst, das ist nicht sonderlich ressoucefressend.
Was ich damit sagen will:
Die zusätzliche Schicht (KVM/OS) fällt bezüglich benötigter Ressourcen kaum ins Gewicht.

Du hantierst da natürlich insbesondere im Breich RAM mit recht kleinen Größen. So etwas (<=8GB) reicht sicherlich als NAS, aber als Applikationsserver???

Ich habe aktuell in meinem Proxmox (Dell Desktop-PC) 16GB verbaut,

  • EGw
  • Mail-Server
  • Win7
  • Win10
  • Debian-Desktop

am laufen und das ist noch überdimensioniert:

Das ist meine Sicht der Dinge.

Wenn du EGw und Zubehör als Docker direkt installieren möchtest dann ist das so. Wir sind auch intereesiert zu erfahren wie das funktionieren könnte. Ggf. kann @RalfBecker bei dem einen oder anderen helfen (wenn er Zeit hat). Du solltest aber

  • erst einmal NUR EGw (die nötigen Container) installieren
  • Collabora Online weglassen
  • Rocket.Chat weglassen
  • dich mit den Zusammenhängen einer Standardinstallation auseinandersetzen (Netzwerk…)

und dann kleinteilig vorgehen.

Hast du den Installationsprozess aus unserem Wiki (Link siehe oben) mal verfolgt? Es wäre halt wichtig zu erfahren ob und auf welchem Synology-Host-OS das funktioniert.

Stefan

Hallo Stefan,
sorry, das ich mich jetzt erst melde…
hab das WE durchgemacht, um es zum laufen zu bringen,bin platt…
du hast recht was du geschrieben hast, habs am WE getestet (Debian,CentOS)… egw zu installieren ist von vorn hinein leider gescheitert, weil die kommandos aus dem forum alle nicht funktioniert haben “command not found”…
hab den terminal vom container genutzt, weil ich nicht weis, wie ich mit putty vom pc aus in den container in debian rein komme…
Al nächstes werde ich mein QNAP NAS vornehmen und berichten…
bin jetzt auf dem synology nas server ein schritt weiter gekommen…

Schritt 1: Docker aus dem Paketzenrum im Synology NAS installiert & den Docker Ordner sichtbar gemacht.
docker-compose update mit dem folgenden link durgeführt:
sudo curl -L “https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$1(uname -s)-$(uname -m)” -o /usr/local/bin/docker-compose

Schritt 2: zwei docker-compose.yml dateien angepasst…einmal für mariadb und einmal für EGroupware+Nginx:
Inhalt der docker-compose.yml für MariaDB:
FUNKTIONIERT!!!
version: '3.7’
services:
MariaDB:
image: mariadb:latest
container_name: MariaDB
restart: always
volumes:
- /volume1/docker/egroupware/mariadb:/var/lib/mysql
network_mode: bridge
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: root password
MYSQL_USER: db user
MYSQL_PASSWORD: db user password
MYSQL_DATABASE: databasename

Inhalt der docker-compose.yml für EGroupware+Nginx:
#FUNKTIONIERT!!!
version: '3.7’
services:
EGroupware:
image: egroupware/egroupware:latest
container_name: EGroupware
restart: always
volumes:
- /volume1/docker/egroupware/data:/var/lib/egroupware
- /volume1/docker/egroupware/push-config:/var/lib/egroupware-push
- /volume1/docker/egroupware/sessions:/var/lib/php/sessions
- /volume1/docker/egroupware/sources:/usr/share/egroupware
network_mode: bridge
extra_hosts:
- "subdomain.domain.xx:IP Adresse des Synology NAS Servers"
external_links:
- MariaDB
environment:
- EGW_DB_HOST=database host name
- EGW_DB_ROOT=root user name
- EGW_DB_ROOT_PW=root user password
- EGW_DB_NAME=databasename
- EGW_DB_USER=db user
- EGW_DB_PASS=db user password
- LANG=de
#FUNKTIONIERT NICHT!!!
Nginx:
image: nginx:latest
container_name: Nginx
restart: always
volumes:
- /volume1/docker/egroupware/nginx.conf:/etc/nginx/conf.d/default.conf:ro hier liegt das problem
- /volume1/docker/egroupware/nginx_logs:/var/log/nginx
- /volume1/docker/egroupware/sources:/usr/share/egroupware:ro
network_mode: bridge
ports:
- 8080:80
- 4443:443

Schritt 3: alle nötigen Ordner unter docker/egroupware angelegt & die Dateien docker-compose.yml & nginx.conf in den Ordner egroupware abgelegt ( die nginx.conf hab ich aus dem Forum kopiert ).

Einzigst was nicht läuft ist der Nginx mit folgenden Fehlern:
10-listen-on-ipv6-by-default.sh1: error: can not modify /etc/nginx/conf.d/default.conf (read-only file system?)
nginx: [emerg] host not found in upstream “egroupware:9000” in /etc/nginx/conf.d/default.conf:8ball:
Mein frage ist, muss man die nginx.conf datei anpassen oder soll ich die ins dateisystem des nas servers kopieren…weil das nicht automatisch geht…hab die standard nginx.conf unter /etc/nginx verglichen
und die default.conf unter /etc/nginy/conf.d hab ich auch verglichen, sind alle unterschiedlich…
ich hoffe, das jemand eine lösung dafür hat…

VG Musty