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

Build images with AVIF support #1959

Closed
aentwist opened this issue Mar 30, 2023 · 5 comments
Closed

Build images with AVIF support #1959

aentwist opened this issue Mar 30, 2023 · 5 comments

Comments

@aentwist
Copy link
Contributor

aentwist commented Mar 30, 2023

Related to juliusknorr/nextcloud-docker-dev#177

User Story

I am considering working on adding AVIF preview support to Nextcloud nextcloud/server#13552. I'd like to start the discussion with getting AVIF into the images.

Proposed Solution

Install AVIF in the images that have a PHP GD version that supports it.

Requirements should just be:

  • install libavif-dev libaom-dev libdav1d-dev
  • configure GD --with-avif

Alternative Considerations

@aentwist
Copy link
Contributor Author

The GD extension in PHP 8.1 and later supports AVIF image format

GD extension requires libavif version 0.8.2 or higher.

https://php.watch/versions/8.1/gd-avif

I see that we are currently building images as follows

  • NC 24 - PHP 8.0
  • 25, 26 - 8.1

However,

Nextcloud 24 is the first major Nextcloud release to work with PHP8.1.

https://docs.nextcloud.com/server/latest/developer_manual/app_publishing_maintenance/app_upgrade_guide/upgrade_to_24.html#php8-1

Similarly why is 26 not on 8.2. This situation is going to repeat itself.

In this release support for PHP8.2 was added.

https://docs.nextcloud.com/server/latest/developer_manual/app_publishing_maintenance/app_upgrade_guide/upgrade_to_26.html#php8-2

Mentioned in #1950. Is there some reason we are not bumping the versions?

What implications does this have? (Pretty sure the Dockerfile templates are common for 24, 25, 26 right?)

@aentwist
Copy link
Contributor Author

aentwist commented Mar 30, 2023

libaom-dev libdav1d-dev appear to both be for AV1 video. Don't think we need these, although they might be required as peer deps for specific functionality?

@J0WI
Copy link
Contributor

J0WI commented Apr 2, 2023

https://docs.nextcloud.com/server/latest/admin_manual/installation/system_requirements.html is the source of truth for the recommend PHP versions.

@aentwist
Copy link
Contributor Author

aentwist commented Apr 3, 2023

libaom-dev libdav1d-dev appear to both be for AV1 video. Don't think we need these

We need these.

See juliusknorr/nextcloud-docker-dev#182

@joshtrichards
Copy link
Member

When/if upstream (server) suggests this officially in their documentation/requirements we can do so. Since that's not the case today, I'll close this out.

@joshtrichards joshtrichards closed this as not planned Won't fix, can't repro, duplicate, stale Oct 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants