Animated gifs with vips and active storage

For reasons I don't understand, this spell of black magic is required to get gifs to play nicely with active storage when using vips.
lang-ruby
<figure class="attachment attachment--<%= blob.representable? ? "preview" : "file" %> attachment--<%= blob.filename.extension %>">
  <% if blob.representable? %>
    <%= image_tag blob.representation(
          loader: { n: -1 },
          resize_to_limit:
          local_assigns[:in_gallery] ? [800, 600] : [1024, 768])
    %>
  <% end %>

  <figcaption class="attachment__caption">
    <% if caption = blob.try(:caption) %>
      <%= caption %>
    <% else %>
      <span class="attachment__name"><%= blob.filename %></span>
      <span class="attachment__size"><%= number_to_human_size blob.byte_size %></span>
    <% end %>
  </figcaption>
</figure>
While looking into this, I had to ask Twitter (who calls it X anyway?) and got a helpful pointer in the right direction from @sanyasi  with this reply.

While looking into VIPS, I noticed many additional packages that might be helpful, so I updated my Dockerfile (just in case). I can't vouch for any of these yet, but here is the updated dockerfile:

lang-dockerfile
# Install base packages
RUN apt-get update -qqy && \
    apt-get install --no-install-recommends -y wget gpg && \
    wget -q -O- https://packagecloud.io/dcommander/libjpeg-turbo/gpgkey | \
    gpg --dearmor >/etc/apt/trusted.gpg.d/libjpeg-turbo.gpg && \
    echo "deb [signed-by=/etc/apt/trusted.gpg.d/libjpeg-turbo.gpg] https://packagecloud.io/dcommander/libjpeg-turbo/any/ any main" \
    > /etc/apt/sources.list.d/libjpeg-turbo.list && \
    apt-get update -qqy && \
    apt-get install --no-install-recommends -y \
      curl \
      ffmpeg \
      libcfitsio10 \
      libcgif0 \
      libexif12 \
      libexpat1 \
      libfftw3-dev \
      libglib2.0-0 \
      libgsf-1-114 \
      libimagequant0 \
      libjemalloc2 \
      libjpeg-turbo-official \
      liblcms2-2 \
      libmatio11 \
      libopenexr-3-1-30 \
      libopenjp2-7 \
      libopenslide0 \
      liborc-0.4-0 \
      libpango-1.0-0 \
      libpangocairo-1.0-0 \
      libpng16-16 \
      libpoppler-glib8 \
      librsvg2-2 \
      libtiff6 \
      libvips \
      libwebp7 \
      postgresql-client \
      zlib1g && \
    rm -rf /var/lib/apt/lists /var/cache/apt/archives && \
    mkdir -p /rails/tmp /rails/log /rails/db /rails/storage