linuxserver / docker-nextcloud

GNU General Public License v3.0
677 stars 128 forks source link

[BUG] HEIC support in PHP is broken at 28.0.4?? #421

Closed Yong-Cheh closed 2 months ago

Yong-Cheh commented 3 months ago

Is there an existing issue for this?

Current Behavior

Update from 28.0.2 to 28.0.4, HEIC can't open in PHOTO viewer. I can see these photos at 28.0.2.

Command

php -r 'phpinfo();' | grep HEIC

got nothing.

Seem that the HEIC support in PHP has been gone. Sorry that I have used docker-compose down and docker-compose up -d before catch log.

Expected Behavior

HEIC files should be shown in PHOTO viewer.

Steps To Reproduce

  1. Connect to the service.
  2. Switch to the PHOTO page.
  3. Scroll down to the HEIC files position.
  4. the photo preview not shown
  5. click on the file, photo viewer open but photo not shown.

Environment

- OS: Debian GNU/Linux 12 (bookworm)
- How docker service was installed: Docker version 20.10.24+dfsg1, build 297e128

CPU architecture

arm64

Docker creation

docker-compose.yml

version: "2"
services:
  nextcloud:
    image: linuxserver/nextcloud
    container_name: nextcloud
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Taipei
    volumes:
      - ${USB_PATH}/nextcloud/config:/config
      - ${USB_PATH}/nextcloud/data:/data
    networks:
      # Use an internal network for the nextcloud services
      - nextcloud
    labels:
      - traefik.enable=true
      - traefik.http.routers.nextcloud-web.entrypoints=web
      - traefik.http.routers.nextcloud-web.rule=Host("${MY_IP}")
      - traefik.http.routers.nextcloud.entrypoints=websecure
      - traefik.http.routers.nextcloud.rule=Host("${MY_IP}")
      - traefik.http.routers.nextcloud.tls=true
      - traefik.http.routers.nextcloud.tls.certresolver=myhttpchallenge
      - traefik.http.routers.nextcloud.service=nextcloud
      - traefik.http.routers.nextcloud.middlewares=nextcloud-regex,nextcloud-headers,nextcloud-redirect-web-secure
      - traefik.http.services.nextcloud.loadbalancer.server.port=443
      - traefik.http.services.nextcloud.loadbalancer.server.scheme=https
      - traefik.http.middlewares.nextcloud-regex.redirectregex.regex=https://(.*)/.well-known/(card|cal)dav
      - traefik.http.middlewares.nextcloud-regex.redirectregex.replacement=https://$$1/remote.php/dav/
      - traefik.http.middlewares.nextcloud-regex.redirectregex.permanent=true
      - traefik.http.middlewares.nextcloud-headers.headers.customFrameOptionsValue=SAMEORIGIN
      - traefik.http.middlewares.nextcloud-headers.headers.stsSeconds=15552000
      - traefik.http.middlewares.nextcloud-redirect-web-secure.redirectscheme.scheme=https

Container logs

[migrations] started
[migrations] 01-nginx-site-confs-default: skipped
[migrations] 02-default-location: skipped
[migrations] done
───────────────────────────────────────

      ██╗     ███████╗██╗ ██████╗
      ██║     ██╔════╝██║██╔═══██╗
      ██║     ███████╗██║██║   ██║
      ██║     ╚════██║██║██║   ██║
      ███████╗███████║██║╚██████╔╝
      ╚══════╝╚══════╝╚═╝ ╚═════╝

   Brought to you by linuxserver.io
───────────────────────────────────────

To support LSIO projects visit:
https://www.linuxserver.io/donate/

───────────────────────────────────────
GID/UID
───────────────────────────────────────

User UID:    1000
User GID:    1000
───────────────────────────────────────

using keys found in /config/keys
Initializing nextcloud 28.0.4.1 (this can take a while) ...
Setting permissions
Initializing finished
**** The following active confs have different version dates than the samples that are shipped. ****
**** This may be due to user customization or an update to the samples. ****
**** You should compare the following files to the samples in the same folder and update them. ****
**** Use the link at the top of the file to view the changelog. ****
┌────────────┬────────────┬────────────────────────────────────────────────────────────────────────┐
│  old date  │  new date  │ path                                                                   │
├────────────┼────────────┼────────────────────────────────────────────────────────────────────────┤
│ 2021-10-24 │ 2023-04-13 │ /config/nginx/nginx.conf                                               │
│            │ 2024-01-03 │ /config/nginx/site-confs/default.conf                                  │
│ 2022-08-20 │ 2023-08-13 │ /config/nginx/ssl.conf                                                 │
└────────────┴────────────┴────────────────────────────────────────────────────────────────────────┘
[custom-init] No custom files found, skipping...
[ls.io-init] done.
github-actions[bot] commented 3 months ago

Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.

Yong-Cheh commented 3 months ago

Hi, there, I have read https://eplt.medium.com/5-minutes-to-install-imagemagick-with-heic-support-on-ubuntu-18-04-digitalocean-fe2d09dcef1 and try add the lost package. I use the these command

apk update
apk add build-base autoconf libtool git cmake imagemagick-dev libde265-dev libheif-dev automake zlib-dev

and the PHP info got the HEIC support.

php -r 'phpinfo();' | grep HEIC
ImageMagick supported formats => 3G2, 3GP, AAI, APNG, ART, ASHLAR, AVI, AVIF, AVS, BAYER, BAYERA, BGR, BGRA, BGRO, BMP, BMP2, BMP3, BRF, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CMYK, CMYKA, CUBE, CUR, CUT, DATA, DCM, DCX, DDS, DFONT, DOT, DPX, DXT1, DXT5, EPS2, EPS3, EPT, EPT2, EPT3, FARBFELD, FAX, FF, FILE, FITS, FL32, FLV, FRACTAL, FTP, FTS, FTXT, G3, G4, GIF, GIF87, GRADIENT, GRAY, GRAYA, GROUP4, GV, HALD, HDR, HEIC, HEIF, HISTOGRAM, HRZ, HTM, HTML, HTTP, HTTPS, ICB, ICO, ICON, INFO, INLINE, IPL, ISOBRL, ISOBRL6, JNG, JNX, JPE, JPEG, JPG, JPS, JSON, JXL, KERNEL, LABEL, M2V, M4V, MAC, MAP, MASK, MAT, MATTE, MIFF, MKV, MNG, MONO, MOV, MP4, MPC, MPEG, MPG, MPO, MSL, MSVG, MTV, MVG, NULL, ORA, OTB, OTF, PAL, PALM, PAM, PANGO, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PES, PFA, PFB, PFM, PGM, PGX, PHM, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG00, PNG24, PNG32, PNG48, PNG64, PNG8, PNM, PPM, PS2, PS3, PSB, PSD, PTIF, PWP, QOI, RADIAL-GRADIENT, RAS, RGB, RGB565, RGBA, RGBO, RGF, RLA, RLE, RSVG, SCR, SCT, SFW, SGI, SHTML, SIX, SIXEL, SPARSE-COLOR, STEGANO, STRIMG, SUN, SVG, SVGZ, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TM2, TTC, TTF, TXT, UBRL, UBRL6, UIL, UYVY, VDA, VICAR, VID, VIFF, VIPS, VST, WBMP, WEBM, WEBP, WMV, WPG, X, XBM, XC, XCF, XPM, XPS, XV, XWD, YAML, YCbCr, YCbCrA, YUV

Now, it works well.

homerr commented 2 months ago

Sorted in above PR. You will need to explicitly enable heic support (detailed in the readme).