Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SVG imagemagick Nextcloud 21.0 Docker #1414

Closed
sparklyballs opened this issue Feb 20, 2021 · 82 comments · Fixed by #1789
Closed

SVG imagemagick Nextcloud 21.0 Docker #1414

sparklyballs opened this issue Feb 20, 2021 · 82 comments · Fixed by #1789

Comments

@sparklyballs
Copy link

sparklyballs commented Feb 20, 2021

With the recent update to the vanilla library Nextcloud docker image on x86_64, i.e docker pull nextcloud, bumping the version of nextcloud to 21.0, some warnings appear,of which all but one were trivial to solve.

Whilst I know that the issue of svg compatibility and imagemagick has been raised several times, and at risk of this being marked as duplicate etc and closed , I feel now is the time to actually address it by either adding whatever is required to the image or removing this new warning.

Screenshot from 2021-02-20 11-02-20

And I understand that current advice is to modify a local Dockerfile to add the required packages etc, this isn't always an easy solution, and that (at least for now) there is a specific warning appearing about this, to suggest that people effectively create their own image locally seems a little silly.

@cformal
Copy link

cformal commented Feb 21, 2021

Agreed. Also, there's a warning regarding the default phone region code.

@sparklyballs
Copy link
Author

Agreed. Also, there's a warning regarding the default phone region code.

https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/config_sample_php_parameters.html#user-experience

@cformal
Copy link

cformal commented Feb 21, 2021

Agreed. Also, there's a warning regarding the default phone region code.

https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/config_sample_php_parameters.html#user-experience

Yes, of course. But I thought it's a good idea to provide an ENV VAR for docker users. I really don't want to modify php files while using docker.

@Sveeeeeen
Copy link

Agreed. Also, there's a warning regarding the default phone region code.

https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/config_sample_php_parameters.html#user-experience

Yes, of course. But I thought it's a good idea to provide an ENV VAR for docker users. I really don't want to modify php files while using docker.

Your config file is in your volume/mount.

@cformal
Copy link

cformal commented Feb 21, 2021

Agreed. Also, there's a warning regarding the default phone region code.

https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/config_sample_php_parameters.html#user-experience

Yes, of course. But I thought it's a good idea to provide an ENV VAR for docker users. I really don't want to modify php files while using docker.

Your config file is in your volume/mount.

Surely I know that. But what I expect to see is that I provide a set of Dockerfile, docker-compose.yml, and .env, I copy them to the server, run docker-compose up --build -d, and that's it.

@NanoSector
Copy link

NanoSector commented Feb 22, 2021

I feel setting a default phone region in the image isn't a one size fits all solution and might even confuse users. An env variable or even a graphical setting in the nextcloud UI might be a good solution for that.
It's also not related to the topic of this issue, so perhaps a different issue can be made for that.

@ThxAndBye
Copy link

ThxAndBye commented Feb 22, 2021

I also have solved all warnings but the one related to php-imagick with the container for version 21.
Shouldn't the container provide the ideal configuration for Nextcloud on it's own? So either add the php module to the container or remove the warning. But having a warning in a supposedly ideal environment seems counter intuitive to me.

@talesam
Copy link

talesam commented Feb 22, 2021

Eu também resolvi todos os avisos, exceto aquele relacionado ao php-imagick com o contêiner para a versão 21.

Were you able to resolve this warning?

Your web server is not configured correctly to resolve "/.well-known/webfinger". More information can be found in the documentation.
Your web server is not configured correctly to resolve "/.well-known/nodeinfo". More information can be found in the documentation.

I am using ngnix and not apache.

@ThxAndBye
Copy link

ThxAndBye commented Feb 22, 2021

I am using ngnix and not apache.

Yes, I'm also using nginx (with the nextcloud-fpm container) and you need to recreate your configuration according to new new configuration as the redirects changed.
https://docs.nextcloud.com/server/latest/admin_manual/installation/nginx.html

@talesam
Copy link

talesam commented Feb 22, 2021

I am using ngnix and not apache.

Yes, I'm also using nginx (with the nextcloud-fpm container) and you need to recreate your configuration according to new new configuration as the redirects changed.
https://docs.nextcloud.com/server/latest/admin_manual/installation/nginx.html

I didn't find this file to edit, did it exist or did you have to create it?
I'm using this setting

https://cloud.talesam.org/s/SxC77dRi7WgkGBA

@ThxAndBye
Copy link

I am using ngnix and not apache.

Yes, I'm also using nginx (with the nextcloud-fpm container) and you need to recreate your configuration according to new new configuration as the redirects changed.
https://docs.nextcloud.com/server/latest/admin_manual/installation/nginx.html

I didn't find this file to edit, did it exist or did you have to create it?
I'm using this setting

https://cloud.talesam.org/s/SxC77dRi7WgkGBA

In .\web\nginx.conf is your configuration. But it seems to have some modifications applied to it, so you have to create a new one by combining what you need from your current config and what's new in the nextcloud docs.
But you also seem to use some kind of preconfigured proxy config, I have no experience with those as I've configured my nginx from the official container.

@talesam
Copy link

talesam commented Feb 22, 2021

In .\web\nginx.conf is your configuration. But it seems to have some modifications applied to it, so you have to create a new one by combining what you need from your current config and what's new in the nextcloud docs.
But you also seem to use some kind of preconfigured proxy config, I have no experience with those as I've configured my nginx from the official container.

ok, thanks, i'll take a look.

@ecov773
Copy link

ecov773 commented Feb 23, 2021

Hi, same problem here, should we just leave showing up this svg warning? I think exactly the same as @ThxAndBye
Thanks

@maxulm
Copy link

maxulm commented Feb 23, 2021

Same here

@LouisVallat
Copy link

Same for me, it really bugs my mind to see that warning that I can't easily fix.

@talesam
Copy link

talesam commented Feb 23, 2021

This should be corrected in the image of the docker, it does not make sense to install something that is made to work in a way and create workarounds to correct a problem that was not solved in the cause.

@markuman
Copy link

libmagickcore-6.q16-6-extra is missing and solves the issue.

Here is the part of the admin manual that mentioned the dependency: https://docs.nextcloud.com/server/21/admin_manual/configuration_server/theming.html?highlight=libmagickcore%20q16%20extra#theming-of-icons

SVG support for imagick (e.g. libmagickcore-6.q16-3-extra on Debian 9 and Ubuntu 18.04)

But the official docker image based on Debian 10, so it's libmagickcore-6.q16-6-extra

@talesam
Copy link

talesam commented Feb 24, 2021

And for those who use docker with the nextcloud:fpm-alpine image?
It would be something like ...

Create Dockerfile

FROM nextcloud:fpm-alpine
RUN apk update && apk add package

The problem is which package to install.

/ # apk list | grep magick
ruby-rmagick-4.1.2-r1 x86_64 {ruby-rmagick} (MIT)
graphicsmagick-zsh-completion-5.8-r1 x86_64 {zsh} (custom)
php8-pecl-imagick-dev-3.4.4-r0 x86_64 {php8-pecl-imagick} (PHP-3.01)
imagemagick-perlmagick-doc-7.0.10.57-r0 x86_64 {imagemagick} (ImageMagick)
php7-pecl-imagick-dev-3.4.4-r7 x86_64 {php7-pecl-imagick} (PHP-3.01)
graphicsmagick-1.3.36-r0 x86_64 {graphicsmagick} (MIT)
php7-pecl-imagick-3.4.4-r7 x86_64 {php7-pecl-imagick} (PHP-3.01)
imagemagick-c++-7.0.10.57-r0 x86_64 {imagemagick} (ImageMagick)
php8-pecl-imagick-3.4.4-r0 x86_64 {php8-pecl-imagick} (PHP-3.01)
imagemagick6-6.9.11.55-r0 x86_64 {imagemagick6} (Apache-2.0)
graphicsmagick-dev-1.3.36-r0 x86_64 {graphicsmagick} (MIT)
imagemagick-doc-7.0.10.57-r0 x86_64 {imagemagick} (ImageMagick)
imagemagick6-dev-6.9.11.55-r0 x86_64 {imagemagick6} (Apache-2.0)
imagemagick-dev-7.0.10.57-r0 x86_64 {imagemagick} (ImageMagick)
imagemagick-static-7.0.10.57-r0 x86_64 {imagemagick} (ImageMagick)
imagemagick-zsh-completion-5.8-r1 x86_64 {zsh} (custom)
imagemagick6-libs-6.9.11.55-r0 x86_64 {imagemagick6} (Apache-2.0)
imagemagick6-c++-6.9.11.55-r0 x86_64 {imagemagick6} (Apache-2.0)
imagemagick6-doc-6.9.11.55-r0 x86_64 {imagemagick6} (Apache-2.0)
php7-pecl-gmagick-2.0.5_rc1-r6 x86_64 {php7-pecl-gmagick} (PHP-3.01)
imagemagick-perlmagick-7.0.10.57-r0 x86_64 {imagemagick} (ImageMagick)
graphicsmagick-doc-1.3.36-r0 x86_64 {graphicsmagick} (MIT)
imagemagick-libs-7.0.10.57-r0 x86_64 {imagemagick} (ImageMagick)
imagemagick-7.0.10.57-r0 x86_64 {imagemagick} (ImageMagick)

@markuman
Copy link

And for those who use docker with the nextcloud:fpm-alpine image?
It would be something like ...

Create Dockerfile

FROM nextcloud:fpm-alpine
RUN apk update && apk add package

The problem is which package to install.

Try it and see :)
Jump into the container and install packages and see what packages solves it.

I guess imagemagick6-libs or imagemagick-libs

@sparklyballs
Copy link
Author

And for those who use docker with the nextcloud:fpm-alpine image?
It would be something like ...

Create Dockerfile

FROM nextcloud:fpm-alpine
RUN apk update && apk add package

The problem is which package to install.

/ # apk list | grep magick
ruby-rmagick-4.1.2-r1 x86_64 {ruby-rmagick} (MIT)
graphicsmagick-zsh-completion-5.8-r1 x86_64 {zsh} (custom)
php8-pecl-imagick-dev-3.4.4-r0 x86_64 {php8-pecl-imagick} (PHP-3.01)
imagemagick-perlmagick-doc-7.0.10.57-r0 x86_64 {imagemagick} (ImageMagick)
php7-pecl-imagick-dev-3.4.4-r7 x86_64 {php7-pecl-imagick} (PHP-3.01)
graphicsmagick-1.3.36-r0 x86_64 {graphicsmagick} (MIT)
php7-pecl-imagick-3.4.4-r7 x86_64 {php7-pecl-imagick} (PHP-3.01)
imagemagick-c++-7.0.10.57-r0 x86_64 {imagemagick} (ImageMagick)
php8-pecl-imagick-3.4.4-r0 x86_64 {php8-pecl-imagick} (PHP-3.01)
imagemagick6-6.9.11.55-r0 x86_64 {imagemagick6} (Apache-2.0)
graphicsmagick-dev-1.3.36-r0 x86_64 {graphicsmagick} (MIT)
imagemagick-doc-7.0.10.57-r0 x86_64 {imagemagick} (ImageMagick)
imagemagick6-dev-6.9.11.55-r0 x86_64 {imagemagick6} (Apache-2.0)
imagemagick-dev-7.0.10.57-r0 x86_64 {imagemagick} (ImageMagick)
imagemagick-static-7.0.10.57-r0 x86_64 {imagemagick} (ImageMagick)
imagemagick-zsh-completion-5.8-r1 x86_64 {zsh} (custom)
imagemagick6-libs-6.9.11.55-r0 x86_64 {imagemagick6} (Apache-2.0)
imagemagick6-c++-6.9.11.55-r0 x86_64 {imagemagick6} (Apache-2.0)
imagemagick6-doc-6.9.11.55-r0 x86_64 {imagemagick6} (Apache-2.0)
php7-pecl-gmagick-2.0.5_rc1-r6 x86_64 {php7-pecl-gmagick} (PHP-3.01)
imagemagick-perlmagick-7.0.10.57-r0 x86_64 {imagemagick} (ImageMagick)
graphicsmagick-doc-1.3.36-r0 x86_64 {graphicsmagick} (MIT)
imagemagick-libs-7.0.10.57-r0 x86_64 {imagemagick} (ImageMagick)
imagemagick-7.0.10.57-r0 x86_64 {imagemagick} (ImageMagick)

I get that you can install the packages required, I mention it in the original post.
What I perceive is the real issue is that now there is a specific warning regarding this, we shouldn't have to resort to effectively hosting our own images for something that should be in the image , or the warning be removed.

@markuman
Copy link

Just make a pull request ;)

@ostefek99
Copy link

ostefek99 commented Feb 24, 2021

Ha, never thought that I would have to go into a container and install a package manually to solve a dependency for a software that is supposed to have it all included in the container image.

But running apt install libmagickcore-6.q16-6-extra (latest nextcloud container based on Debian 10) inside the container fixed the warning message about "Module php-imagick in this instance has no SVG support.".

@mat-l
Copy link

mat-l commented Feb 25, 2021

@ostefek99, that sadly does not work for my Debian 10 container. Did you execute any other commands as well?

root@xxx:/var/www/html# apt install libmagickcore-6.q16-6-extra
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package libmagickcore-6.q16-6-extra is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libmagickcore-6.q16-6-extra' has no installation candidate

@Snuupy
Copy link

Snuupy commented Feb 25, 2021

@mat-l did you apt update beforehand?

https://packages.debian.org/buster/libmagickcore-6.q16-6-extra this is the package you want.

@markuman
Copy link

Consider that installing dependencies in a running container is not a persistent fix.
You must build your own image or it must go to the upstream image.

@ostefek99
Copy link

@mat-l, as Snuupy sugested, you need to run apt update and then install the package (apt install).

However as markuman said, it's a workaround for a current container. It won't persist. I am not willing to build my own container. I would expect to be fixed in the image.
I am however only consumer and not sure how to help to fix it. I am grateful for the such a great work that community is doing. :)

@mat-l
Copy link

mat-l commented Feb 25, 2021

@Snuupy @ostefek99 woops, forget the update, thought I had executed it before 🙈

@markuman in my optinion it must be integrated into the upstream image. Dunno why Nextcloud didn't do this yet.

@markuman
Copy link

diff --git a/21.0/apache/Dockerfile b/21.0/apache/Dockerfile
index 52fab6e..fc548ac 100644
--- a/21.0/apache/Dockerfile
+++ b/21.0/apache/Dockerfile
@@ -9,6 +9,7 @@ RUN set -ex; \
         rsync \
         bzip2 \
         busybox-static \
+        libmagickcore-6.q16-6-extra \
     ; \
     rm -rf /var/lib/apt/lists/*; \
     \

that's the fix for the apache container

@LouisVallat
Copy link

LouisVallat commented Feb 25, 2021

diff --git a/21.0/apache/Dockerfile b/21.0/apache/Dockerfile
index 52fab6e..fc548ac 100644
--- a/21.0/apache/Dockerfile
+++ b/21.0/apache/Dockerfile
@@ -9,6 +9,7 @@ RUN set -ex; \
         rsync \
         bzip2 \
         busybox-static \
+        libmagickcore-6.q16-6-extra \
     ; \
     rm -rf /var/lib/apt/lists/*; \
     \

that's the fix for the apache container

Testing this fix on my machine, I'll edit this comment with the results.

EDIT: yes it fixes it (bogs my mind a bit that it's in the "entrypoint.sh and cron.sh dependencies" part

@LouisVallat
Copy link

Also @markuman I would suggest you not to edit in the Dockerfiles themselves, they are generated from the update.sh script, so your modification will be overwritten, if I understand correctly. So I would suggest you to add the fix in the .template files, and then generate the Dockerfiles with the update script.

@FingerlessGlov3s
Copy link

FingerlessGlov3s commented Feb 25, 2022

Yes there is a potential security issue, I assume not fixed upstream yet though or if it can be.

The message in the UI says Module php-imagick in this instance has no SVG support. For better compatibility it is recommended to install it. yet it does not mention the security issue with it. So people just installing the missing svg support do not know they have opened up the security issue. Although I would hope when they go to search for the missing packages required they see the various messages about the security issue, although they may not search it if they know which packages are required.

I would recommend adding by enabling this support you are adding a potential security risk, if it said that I wouldn't even be here. If the security issue gets fixed then the message can be reverted and package included in the image, but until then I think its a good idea to advise people in the UI itself.

Edit: For any wondering, I have not enabled SVG support, because of the security issue.

@TLATER
Copy link

TLATER commented Feb 25, 2022

Please read past just the last 5 comments or so. This has been discussed at length.

Imagemagick should not be added to this image, and the warning should be changed or flipped so you get a warning for using imagemagick. Open a PR to nextcloud if you want to move along the discussion.

Re-confirming that you also have this problem just adds to the noise that makes people ignore prior discussion, and pings a lot of people's inboxes. Yes, we all have this problem, and anyone installing this image will. There are a number of hacks in this thread for "fixing" it already, too, likely including yours. None of them should probably be used, unless you really know you want to ignore upstream advice.

Here's the relevant bits of info:

Should this issue be locked to prevent more sharing of footguns?

@nijel
Copy link

nijel commented Feb 25, 2022

I think the root cause is that it takes more than a year to change the warning (or remove it). Also, keeping this issue open makes people think the issue is actually in the Docker image, not with the warning...

@muebau
Copy link

muebau commented Feb 25, 2022

As a workaround one could add a "patch" to the own Dockerfile to simply remove a few lines after 427
https://github.com/nextcloud/server/blob/c605ef1f432dcd48ba4b3b8cc82551c234dc4f64/core/js/setupchecks.js#L427
to remove the warning for now. 😁

TLATER added a commit to TLATER/server that referenced this issue Feb 25, 2022
This tempts admins into installing insecure packages to make the
warning go away, even going so far as to [impurely modify running
containers](nextcloud/docker#1414 (comment)).

Changing the warning to trigger if the php-imagick module is loaded is
more in line with the actual upstream recommendation, and hopefully
helps unsuspecting users who have hacked around the warning in the
past realize this.

Draft because:

- [ ] Untested (will try building this all this evening)
- [ ] Translations are missing

Band-aid for nextcloud#1414, while we wait for a proper solution with libvips
or somesuch.
TLATER added a commit to TLATER/server that referenced this issue Feb 25, 2022
This tempts admins into installing insecure packages to make the
warning go away, even going so far as to [impurely modify running
containers](nextcloud/docker#1414 (comment)).

Changing the warning to trigger if the php-imagick module is loaded is
more in line with the actual upstream recommendation, and hopefully
helps unsuspecting users who have hacked around the warning in the
past realize this.

Draft because:

- [ ] Untested (will try building this all this evening)
- [ ] Translations are missing, covered are:
  - [x] English
  - [x] German

Band-aid for nextcloud#1414, while we wait for a proper solution with libvips
or somesuch.
TLATER added a commit to TLATER/server that referenced this issue Feb 25, 2022
This tempts admins into installing insecure packages to make the
warning go away, even going so far as to [impurely modify running
containers](nextcloud/docker#1414 (comment)).

Changing the warning to trigger if the php-imagick module is loaded is
more in line with the actual upstream recommendation, and hopefully
helps unsuspecting users who have hacked around the warning in the
past realize this.

Draft because:

- [ ] Untested (will try building this all this evening)
- [ ] Translations are missing, covered are:
  - [x] English
  - [x] German

Band-aid for nextcloud#13099, while we wait for a proper solution with libvips
or somesuch.
pierreozoux added a commit to nextcloud/server that referenced this issue Mar 29, 2022
@nushkovg
Copy link

nushkovg commented Apr 12, 2022

Those running the 23.0.3-fpm-alpine image, install the required package to fix the warning by running apk add php7-pecl-imagick. Or build your own Docker image which extends the base fpm-alpine image for reliability. This is for ARM64, I am sure there is the same package (with another name maybe) for AMD64 architecture.

@mschoettle
Copy link

mschoettle commented Apr 12, 2022

Please read this comment: #1414 (comment)

@TLATER
Copy link

TLATER commented Apr 13, 2022

Oh, this is interesting. @pierreozoux' PR to upstream brought up this comment from @tcitworld: nextcloud/server#31742 (comment)

Seems to me like the security concerns I had are actually unfounded, given imagemagick is in fact only used to handle built-in (and therefore non-malicious) svgs? The default config.php seems to suggest that, too.

In other words, this warning is about lacking imagemagick for the purposes of rendering some icons, which is much more reasonable than what was represented in this thread.

If that's true, I'd much rather see imagemagick actually included in the image, after all.

@mat-m
Copy link

mat-m commented May 26, 2022

On docker-compose install based on nextcloud:latest (currently 24.0.1):

# apt list | grep mag

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

imagemagick-6-common/now 8:6.9.11.60+dfsg-1.3 all [installed,local]
libmagic-mgc/now 1:5.39-3 amd64 [installed,local]
libmagic1/now 1:5.39-3 amd64 [installed,local]
libmagickcore-6.q16-6/now 8:6.9.11.60+dfsg-1.3 amd64 [installed,local]
libmagickwand-6.q16-6/now 8:6.9.11.60+dfsg-1.3 amd64 [installed,local]

When I tried to install the "extra" lib, I got:

# apt install libmagickcore-6.q16-6-extra
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package libmagickcore-6.q16-6-extra is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libmagickcore-6.q16-6-extra' has no installation candidate

So it looks like it was delibarately blocked...

And it adds some libs too:

  fontconfig gsfonts libcairo2 libdatrie1 libdjvulibre-text libdjvulibre21 libfribidi0
  libgraphite2-3 libharfbuzz0b libilmbase25 libjxr-tools libjxr0 libopenexr25 libpango-1.0-0
  libpangocairo-1.0-0 libpangoft2-1.0-0 libpixman-1-0 libthai-data libthai0 libwmf0.2-7
  libxcb-render0 libxcb-shm0 libxrender1

@martadinata666
Copy link

do you run apt update first?

@mat-m
Copy link

mat-m commented May 27, 2022

do you run apt update first?

Not at first, to understand why it was not there. With the message is not available, but is referred to by another package, either they forced the imagemagick install with a broken dependency, or they removed it afterwards. I can't imagine another scenario where a dependency is not installed.

@martadinata666
Copy link

martadinata666 commented May 27, 2022

do you run apt update first?

Not at first, to understand why it was not there. With the message is not available, but is referred to by another package, either they forced the imagemagick install with a broken dependency, or they removed it afterwards. I can't imagine another scenario where a dependency is not installed.

so without apt update there no information about available package in repo. and libmagic-extra doesnt directly depend to libmagic-core, cause libmagick-extra not installed when installing libmagick-core. details here https://packages.debian.org/bullseye/libmagickcore-6.q16-6-extra

@mat-m
Copy link

mat-m commented Jun 3, 2022

so without apt update there no information about available package in repo. and libmagic-extra doesnt directly depend to libmagic-core, cause libmagick-extra not installed when installing libmagick-core. details here https://packages.debian.org/bullseye/libmagickcore-6.q16-6-extra

Which is strange, since there are two apt-get update in the Dockerfile, lines 7 and 27

@martadinata666
Copy link

so without apt update there no information about available package in repo. and libmagic-extra doesnt directly depend to libmagic-core, cause libmagick-extra not installed when installing libmagick-core. details here https://packages.debian.org/bullseye/libmagickcore-6.q16-6-extra

Which is strange, since there are two apt-get update in the Dockerfile, lines 7 and 27

and the info wiped out at line89 and 152 rm - rf /var/lib/apt/lists/*cmiiw

@mat-m
Copy link

mat-m commented Jun 5, 2022

Ha, you're right.
And since imagemagick is installed through pecl, I don't even know how the lib is actually fetched.
So if we want it, we basically need to add it explicitly in the docker file.

@ghost
Copy link

ghost commented Jun 27, 2022

is this going to get added? i still see the warning with the newest version of 24.x

@jmptbl
Copy link

jmptbl commented Jul 8, 2022

I found this discussion while looking for a solution that allows the theming app to generate theme icons from SVG images. At first when I saw Nextcloud's warning in the overview page about php-imagick lacking SVG support, I just left it because no one really cares about preview images of SVG files. That feature isn't even enabled by default, so I'm not sure why Nextcloud's overview page needs to warn about it. Maybe that warning should only appear if someone goes through the effort of enabling that preview feature.

The theming app does warn about the missing support as well, and there it's arguably more useful. So why is the official image still missing a complete imagemagick? On the concern of security, surely there's a big difference between the Docker image having the support installed, and Nextcloud being configured to actually use it? It's not enabled by default, so why is the Docker image still lacking imagemagick? This makes no sense.

@PrivatePuffin
Copy link

unless you really know you want to ignore upstream advice.

End-users-advocate:
Upstream advice is screaming to me that my device should be configured to support this.

@CorneliousJD
Copy link

unless you really know you want to ignore upstream advice.

End-users-advocate: Upstream advice is screaming to me that my device should be configured to support this.

This in my opinion is exactly the problem.
The warning should be removed...

This is the official Nextcloud container, and it comes with a warning that says the recommend installing it for better suppport, but really they recommend NOT installing it due to a security issue, which is why it's not bundled with the container image.

The real fix here is to remove the warning.

I'm curious why this has not yet been done and over a year later the same warning is still present and nothing has changed?
End-users will see the warning, and want to install it so they get that nice green check-mark. The warning even says to install it.

Warning should just be removed. :/

@jmptbl
Copy link

jmptbl commented Jul 14, 2022

This in my opinion is exactly the problem. The warning should be removed...

This is the official Nextcloud container, and it comes with a warning that says the recommend installing it for better suppport, but really they recommend NOT installing it due to a security issue, which is why it's not bundled with the container image.

The real fix here is to remove the warning.

I'm curious why this has not yet been done and over a year later the same warning is still present and nothing has changed? End-users will see the warning, and want to install it so they get that nice green check-mark. The warning even says to install it.

My understanding is that adding SVG support poses no security threat, because SVG previews are disabled by default. And having SVG support allows the theming module to generate rasters from SVG files. Therefore the warning should exist to inform users that without SVG support there is missing functionality. And the Docker image should install the SVG support because it poses no security threat and allows all of Nextcloud's functionality to work, which would also prevent the warning from displaying.

@PrivatePuffin
Copy link

This in my opinion is exactly the problem. The warning should be removed...
This is the official Nextcloud container, and it comes with a warning that says the recommend installing it for better suppport, but really they recommend NOT installing it due to a security issue, which is why it's not bundled with the container image.
The real fix here is to remove the warning.
I'm curious why this has not yet been done and over a year later the same warning is still present and nothing has changed? End-users will see the warning, and want to install it so they get that nice green check-mark. The warning even says to install it.

My understanding is that adding SVG support poses no security threat, because SVG previews are disabled by default. And having SVG support allows the theming module to generate rasters from SVG files. Therefore the warning should exist to inform users that without SVG support there is missing functionality. And the Docker image should install the SVG support because it poses no security threat and allows all of Nextcloud's functionality to work, which would also prevent the warning from displaying.

I kinda agree here, the toggle can (and is) made on many levels that do not inherently block functionality or bother users by their defaults.

But either or:
Either add it or remove the warning.

Everyone is kinda in agreement that something should be done, so it's kinda weird nothing is being done.

@pierreozoux
Copy link
Member

Ok, I'm in favor of adding svg support, then this discussion is over.

Can anybody submit a PR to add svg on each flavor of the container?

Thanks!

@nextcloud nextcloud locked as resolved and limited conversation to collaborators Jul 14, 2022
@joshtrichards joshtrichards unpinned this issue Dec 17, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet