Fehler beim Libvips-Upgrade

Ich habe ein Problem beim Upgrade von Discourse (discourse/discourse) von 2026.7.3 auf 2026.7.4 (auch die 2026.11.0-latest weist dasselbe Problem auf):

#<Thread:0x00007f7bea3d8430 /var/www/discourse/lib/discourse.rb:1342 run> terminated with exception (report_on_exception is true):

/var/www/discourse/lib/discourse_vips/client.rb:50:in 'block in DiscourseVips::Client.call': libvips operation failed (DiscourseVips::Error)

	from /var/www/discourse/lib/image_processing/instrumentation.rb:6:in 'ImageProcessing::Instrumentation.instrument'

	from /var/www/discourse/lib/discourse_vips/client.rb:40:in 'DiscourseVips::Client.call'

	from /var/www/discourse/lib/discourse_vips.rb:14:in 'DiscourseVips.version'

	from /var/www/discourse/lib/letter_avatar.rb:140:in 'LetterAvatar.vips_version'

	from /var/www/discourse/lib/letter_avatar.rb:36:in 'LetterAvatar.version'

	from /var/www/discourse/lib/discourse.rb:1343:in 'block in Discourse.preload_rails!'

/var/www/discourse/lib/discourse_vips/client.rb:50:in 'block in DiscourseVips::Client.call': libvips operation failed (DiscourseVips::Error)

	from /var/www/discourse/lib/image_processing/instrumentation.rb:6:in 'ImageProcessing::Instrumentation.instrument'

	from /var/www/discourse/lib/discourse_vips/client.rb:40:in 'DiscourseVips::Client.call'

	from /var/www/discourse/lib/discourse_vips.rb:14:in 'DiscourseVips.version'

	from /var/www/discourse/lib/letter_avatar.rb:140:in 'LetterAvatar.vips_version'

	from /var/www/discourse/lib/letter_avatar.rb:36:in 'LetterAvatar.version'

	from /var/www/discourse/lib/discourse.rb:1343:in 'block in Discourse.preload_rails!'

E, [2026-11-09T11:44:20.275076 #11010] ERROR -- : mold gen=0 pid=11013 reaped (#<Process::Status: pid 11013 exit 1>)

I, [2026-11-09T11:44:20.275357 #11010]  INFO -- : reaped unknown subprocess #<Process::Status: pid 11063 SIGKILL (signal 9)>

/var/www/discourse/vendor/bundle/ruby/4.0.0/gems/pitchfork-0.18.2/lib/pitchfork/http_server.rb:179:in 'Pitchfork::HttpServer#start': The initial mold failed to boot (Pitchfork::BootFailure)

	from /var/www/discourse/vendor/bundle/ruby/4.0.0/gems/pitchfork-0.18.2/exe/pitchfork:110:in '<top (required)>'

	from /usr/local/lib/ruby/4.0.0/rubygems.rb:305:in 'Kernel#load'

	from /usr/local/lib/ruby/4.0.0/rubygems.rb:305:in 'Gem.activate_and_load_bin_path'

	from /var/www/discourse/vendor/bundle/ruby/4.0.0/bin/pitchfork:25:in '<main>'

./config/unicorn_launcher: line 93: kill: (11010) - No such process

./config/unicorn_launcher: line 13: kill: (11010) - No such process

(10949) exiting

Könntest du bitte die Builds prüfen?

Nutzen Sie eine Standardinstallation?

Hallo David,
ich verwende die Version discourse/discourse auf Docker Hub (discourse/discourse - Docker Image) mit „redis:7-alpine“ und „discourse/postgres:latest“.

Hier meine aktuelle Konfiguration (als Docker Compose):

services:
  redis:
    image: redis:7-alpine
    container_name: redis
    volumes:
      - /volume1/docker/discourse/redis_data:/data:rw
    ports:
      - '6379:6379'
    command: "redis-server --appendonly yes"
    restart: unless-stopped
    labels:
      - 'wud.tag.include=^([0-9]\d*)\-alpine$$'
      - 'wud.watch.digest=true'
      - 'wud.display.name=DiscourseRedis'
      - 'wud.display.icon=mdi:map-search'

  discourse_db:
    image: discourse/postgres:latest
    container_name: discourse_db
    volumes:
      - /volume1/docker/discourse/discourse_postgres:/var/lib/postgresql:rw
      - /volume1/docker/discourse/discourse_postgres_data:/var/lib/postgresql/data:rw
    environment:
      POSTGRES_DB: discourse
      POSTGRES_USER: admin
      POSTGRES_PASSWORD: "***"
      DB_USER: discourse_user
      DB_PASSWORD: "***"
    restart: unless-stopped
    labels:
      - 'wud.watch.digest=true'
      - 'wud.display.name=DiscoursePostgres'
      - 'wud.display.icon=mdi:map-search'

  discourse:
    image: discourse/discourse:2026.7.3
    container_name: discourse
    depends_on:
      - discourse_db
      - redis
    ports:
      - '8093:80'
    volumes:
      - /volume1/docker/discourse/discourse_data:/shared
    environment:
      DISCOURSE_HOSTNAME: my.host.name
      DISCOURSE_DEVELOPER_EMAILS: "my@email.eu"
      DISCOURSE_DB_HOST: discourse_db
      DISCOURSE_DB_PORT: 5432
      DISCOURSE_DB_NAME: discourse
      DISCOURSE_DB_USERNAME: discourse_user
      DISCOURSE_DB_PASSWORD: "***"
      DISCOURSE_REDIS_HOST: redis
      DISCOURSE_REDIS_PORT: 6379
      DISCOURSE_SMTP_ADDRESS: 10.10.x.x
      DISCOURSE_SMTP_PORT: 587
      DISCOURSE_SMTP_ENABLE_START_TLS: true
      DISCOURSE_SMTP_USER_NAME: my
      DISCOURSE_SMTP_PASSWORD: "****"
      #DISCOURSE_SMTP_FORCE_TLS: true
      DISCOURSE_SMTP_DOMAIN: my.domain
      DISCOURSE_SMTP_AUTHENTICATION: login
      DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none
      DISCOURSE_NOTIFICATION_EMAIL: noreply@email.eu
      LANG: it_IT.UTF-8
    restart: unless-stopped
    labels:
      - 'wud.tag.include=^([0-9]\d*)\.([0-9]\d*)\.([0-9]\d*)$$'
      - 'wud.watch.digest=true'
      - 'wud.display.name=Discourse'
      - 'wud.display.icon=mdi:map-search'

Das discourse/discourse-Image ist noch experimentell und wird von uns nicht regelmäßig getestet. Trotzdem habe ich es intern erwähnt, sodass wir sehen können, ob sich jemand darum kümmern kann.

Für eine Produktionsinstallation empfehlen wir die Standardinstallation.