BSD Ports

www/imaginary 20251108_5 DragonFly

HTTP microservice for high-level image processing

System
DragonFly
Repository
DPorts
Maintainer
[email protected] (as in FreeBSD)
License
MIT
Categories
www
Package size
2456.4 KiB, 7627.2 KiB installed

Description

Fast HTTP microservice written in Go for high-level image processing backed by bimg and libvips. imaginary can be used as private or public HTTP service for massive image processing with first-class support for Docker & Fly.io. It's almost dependency-free and only uses net/http native package without additional abstractions for better performance.

Supports multiple image operations exposed as a simple HTTP API, with additional optional features such as API token authorization, URL signature protection, HTTP traffic throttle strategy and CORS support for web clients.

imaginary can read images from HTTP POST payloads, server local path or remote HTTP servers, supporting JPEG, PNG, WEBP, HEIF, and optionally TIFF, PDF, GIF and SVG formats.

imaginary is able to output images as JPEG, PNG and WEBP formats, including transparent conversion across them.

In the other systems

The newest version among them is 20251108, as upstream numbers it.

SystemPortVersionVulnerabilitiesStatusMaintainerLast update
DragonFlywww/imaginary20251108_5 newestnone known-[email protected]-
FreeBSDwww/imaginary20251108_6 newestnone known-[email protected]2026-11-11
HardenedBSDwww/imaginary20251108_5 newestno data-[email protected]-
GhostBSDwww/imaginary20251108_5 newestno data-[email protected]-

Version history 1

  1. 20251108

Upstream's version as each commit to the port's Makefile set it, or as this site first saw it in the system's packages; the tree's own revisions are not versions here.

Install

Binary package:

pkg install imaginary

From DPorts:

cd /usr/dports/www/imaginary && make install clean

Dependency graph

Ports that need it on the left, what it needs to run on the right; at most 8 of each. "Dependencies" below lists them all.

Dependencies

Run dependencies 3

No port depends on this one.

Configuration

No options to configure.

Service scripts
none

Message after installing

If you're running imaginary as a part of Nextcloud installation -
configure it using:

  # sysrc imaginary_flags="-return-size -max-allowed-resolution 222.2"

Then add this to your Nextcloud's config.php:

  'enabledPreviewProviders' => [
      'OC\Preview\MP3',
      'OC\Preview\TXT',
      'OC\Preview\MarkDown',
      'OC\Preview\OpenDocument',
      'OC\Preview\Krita',
      'OC\Preview\Imaginary',
  ],
  'preview_imaginary_url' => 'http://<url of imaginary>:<port>',