# Libvips upgrade error

**URL:** <https://meta.discourse.org/t/libvips-upgrade-error/416912>\
**Category:** Self-hosting\
**Tags:** unsupported-install\
**Created:** [November 9, 2026, 12:15pm UTC](https://meta.discourse.org/t/libvips-upgrade-error/416912 "2026-11-09T12:15:13Z")\
**Posts on this page:** 4\
**Page:** 1

## AI-generated summary

[Andrea_Fumi](/t/-/416912/1) reported a startup failure when upgrading their self-hosted Discourse instance from version 2026.7.3 to 2026.7.4 (and also on 2026.11.0-latest) using Docker. The error logs indicate a `DiscourseVips::Error` where the `libvips` operation failed during the application's preload process, specifically when checking the version for letter avatars. This caused the Pitchfork web server to fail booting, resulting in the container exiting. [david](/t/-/416912/2) inquired if a standard installation was being used, and Andrea_Fumi confirmed they were using the `discourse/discourse` Docker image from Docker Hub alongside `redis:7-alpine` and `discourse/postgres:latest`, providing their [docker-compose configuration](/t/-/416912/3).

[david](/t/-/416912/5) clarified that the `discourse/discourse` Docker image is currently considered experimental and is not regularly tested by the Discourse team. While he acknowledged the issue and mentioned it internally for potential review, he strongly recommended using the standard install procedure for production environments rather than the experimental Docker images.

<div class="post-metadata">

**Author:** ![Andrea\_Fumi](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/andrea_fumi/32/584002_2.png) [@Andrea\_Fumi](https://meta.discourse.org/u/Andrea_Fumi)\
**Post date:** [November 9, 2026, 12:15pm UTC](https://meta.discourse.org/t/libvips-upgrade-error/416912/1 "2026-11-09T12:15:13Z")

</div>

I’ve a problem upgrading docker (discourse/discourse) from 2026.7.3 to 2026.7.4 (also the 2026.11.0-latest have the same problem):

```plaintext
#<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

```

Can you please check the builds?

---

<div class="post-metadata">

**Author:** ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)\
**Post date:** [November 9, 2026, 2:20pm UTC](https://meta.discourse.org/t/libvips-upgrade-error/416912/2 "2026-11-09T14:20:00Z")

</div>

Are you using a [standard install](https://meta.discourse.org/t/142537?silent=true)?

---

<div class="post-metadata">

**Author:** ![Andrea\_Fumi](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/andrea_fumi/32/584002_2.png) [@Andrea\_Fumi](https://meta.discourse.org/u/Andrea_Fumi)\
**Post date:** [November 9, 2026, 2:59pm UTC](https://meta.discourse.org/t/libvips-upgrade-error/416912/3 "2026-11-09T14:59:03Z")

</div>

Hello David,  
I’m using version discourse/discourse on docker hub ([discourse/discourse - Docker Image](https://hub.docker.com/r/discourse/discourse)) with “redis:7-alpine” and “discourse/postgres:latest”.

Here my current configuration (as docker compose):

```plaintext
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'

```

---

<div class="post-metadata">

**Author:** ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)\
**Post date:** [November 9, 2026, 3:43pm UTC](https://meta.discourse.org/t/libvips-upgrade-error/416912/5 "2026-11-09T15:43:39Z")

</div>

The discourse/discourse image is still experimental, and isn’t something that we regularly test. That said, I have mentioned it internally so we’ll see if someone can take a look.

For a production installation, we recommend the [standard install](https://meta.discourse.org/t/142537?silent=true) procedure.
