jeboehm / docker-mailserver

Docker Mailserver based on the famous ISPMail guide
MIT License
353 stars 92 forks source link

RoundCube error #207

Closed the-hotmann closed 1 year ago

the-hotmann commented 1 year ago

Describe the bug Everytime I reload the webinterface of RoundCude I do get this error: Serverfehler: STATUS: Internal error occurred. Refer to server log for more information. [2022-11-08 09:15:34] (0.001 + 0.000 secs).

Logs:

[08-Nov-2022 09:11:14 UTC] PHP Deprecated:  strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in /var/www/html/webmail/program/include/rcmail_action.php on line 1221
[08-Nov-2022 09:11:14 UTC] PHP Deprecated:  Return type of zipdownload_mbox_filter::filter($in, $out, &$consumed, $closing) should either be compatible with php_user_filter::filter($in, $out, &$consumed, bool $closing): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/webmail/plugins/zipdownload/zipdownload.php on line 405
[08-Nov-2022 09:11:14 UTC] PHP Deprecated:  Return type of zipdownload_mbox_filter::filter($in, $out, &$consumed, $closing) should either be compatible with php_user_filter::filter($in, $out, &$consumed, bool $closing): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/webmail/plugins/zipdownload/zipdownload.php on line 405
[08-Nov-2022 09:11:14 UTC] PHP Deprecated:  strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/webmail/program/actions/mail/index.php on line 181
[08-Nov-2022 09:12:15 UTC] PHP Deprecated:  Return type of zipdownload_mbox_filter::filter($in, $out, &$consumed, $closing) should either be compatible with php_user_filter::filter($in, $out, &$consumed, bool $closing): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/webmail/plugins/zipdownload/zipdownload.php on line 405

To Reproduce Hm. Log into RoundCude and check the right bottom corner for a red error

Expected behavior No errors ^^

Screenshots image

Docker environment (please complete the following information):

Server: Containers: 10 Running: 8 Paused: 0 Stopped: 2 Images: 10 Server Version: 20.10.19+dfsg1 Storage Driver: overlay2 Backing Filesystem: extfs Supports d_type: true Native Overlay Diff: true userxattr: false Logging Driver: json-file Cgroup Driver: systemd Cgroup Version: 2 Plugins: Volume: local Network: bridge host ipvlan macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog Swarm: inactive Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc Default Runtime: runc Init Binary: docker-init containerd version: 1.6.9~ds1-1 runc version: 1.1.4+ds1-1 init version: Security Options: apparmor seccomp Profile: default cgroupns Kernel Version: 6.0.0-2-amd64 Operating System: Debian GNU/Linux bookworm/sid OSType: linux Architecture: x86_64 CPUs: 2 Total Memory: 3.837GiB Name: mailer ID: AEDX:VAIB:3KYL:Z2SE:YWOW:RYG6:6QIG:ORCQ:ZRFE:U3D5:5CZJ:NZO7 Docker Root Dir: /var/lib/docker Debug Mode: false Registry: https://index.docker.io/v1/ Labels: Experimental: false Insecure Registries: 127.0.0.0/8 Live Restore Enabled: false


 - Output of ```docker-compose version```

Docker Compose version v2.12.2

ㅤ
ㅤ

**Additional context**
- In generally I would think it would be very handy not having to download the repo and build the container, but just having a docker-compose stack which when you run `docker-compose pull && docker-compose up -d` would start and do the stuff. That would also make the expirience more consistent on different hardware/hosts as the container technically would be an artifact.
- the command `bin/production.sh run --rm web setup.sh` can easily be replaced with `docker exec -it web /usr/local/bin/setup.sh` (if the container in the `docker-compose.yml` would have have a `container_name` called `web`)
From:

The admin (mailserver-admin) and webmail (roundcube) interfaces

live here. Can be removed if not needed.

web: image: jeboehm/mailserver-web:latest build: context: ./web args:

Roundcube plugins can be added here. See https://packagist.org/?type=roundcube-plugin

    RC_PLUGINS: "johndoh/contextmenu jfcherng-roundcube/show-folder-size"
restart: on-failure:5
env_file: .env
volumes:
  - data-dkim:/media/dkim
# For use with jwilder/nginx-proxy.
# environment:
#   - VIRTUAL_HOST=mail.example.com
TO:

The admin (mailserver-admin) and webmail (roundcube) interfaces

live here. Can be removed if not needed.

web: container_name: web image: jeboehm/mailserver-web:latest build: context: ./web args:

Roundcube plugins can be added here. See https://packagist.org/?type=roundcube-plugin

    RC_PLUGINS: "johndoh/contextmenu jfcherng-roundcube/show-folder-size"
restart: on-failure:5
env_file: .env
volumes:
  - data-dkim:/media/dkim
# For use with jwilder/nginx-proxy.
# environment:
#   - VIRTUAL_HOST=mail.example.com

- having the dependencies updated to their latest versions (maybe even automatically) and shipping them with the newest version.

Thanks in advance for these nice collection of Mailing-Tools!
the-hotmann commented 1 year ago

Seems to be related to: https://github.com/roundcube/roundcubemail/issues/8398

Tere seems to be two solutions:

  1. upgrade RoundCube to v1.6.x
  2. downgrade, so PHP 8.1 (or newer) is not getting used. (best would be PHP 7.4 for now)
jeboehm commented 1 year ago

Hi Martin, I'll have a look in it! Roundcube 1.6 is released, so updating would be my preferred solution.

jeboehm commented 1 year ago

This is now fixed in main. :-) Thank you!

jeboehm commented 1 year ago

Ah, I forgot to mention your other points, @MartinHotmann.