BSD Ports

www/imaginary 20251108_5 FreeBSD

HTTP microservice for high-level image processing

System
FreeBSD
Repository
FreeBSD ports
Maintainer
[email protected]
Last update
Commit
d81b7ba3c3
License
MIT
Categories
www
Package size
2559.4 KiB, 7515.3 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.

Install

Binary package:

pkg install imaginary

From the ports tree:

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

To depend on this port in another port's Makefile:

RUN_DEPENDS=	imaginary>0:www/imaginary

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

Repositoryaarch64amd64armv6armv7i386
FreeBSD:14:latest20251108_420251108_4-20250114_220251108_4
FreeBSD:14:quarterly20251108_420251108_4n/a-20251108_4
FreeBSD:15:latest20251108_420251108_4n/a-20250114_2
FreeBSD:15:quarterly20251108_420251108_4n/an/an/a
FreeBSD:16:latest20251108_320251108_4n/an/an/a
FreeBSD:16:quarterlyn/an/an/an/an/a

Dependencies

As this port's Makefile names them.

Library 1

The full lists below include those, and their dependencies in turn.

Build dependencies 180

The first 100 are listed.

Run dependencies 179

The first 100 are listed.

No port depends on this one.

Configuration

No options to configure.

USES
gettext-runtime gnome go:modules pkgconfig
Service scripts
imaginary

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>',

Files

distinfo 6
FileSizeSHA256
h2non-imaginary-20251108-6a274b488759a896aff02f52afee6e50b5e3a3ee_GH0.tar.gz2.028551e+06c1c2f9e2e9fdbc38b3e6fb9dd3cdd0a2dad2d2226ff8d1816093d8104c08c4c6
h2non-bimg-v1.1.7_GH0.tar.gz2.3702365e+07845226edf322704d751095a7d7d60c86ac38f450c1d72237545299852b1c498a
h2non-filetype-v1.1.0_GH0.tar.gz3.632778e+066dcbe6e6b6f0a0571843ebdedb33daacde3bb6ef1196797879587a3e4cf8052b
hashicorp-golang-lru-v0.5.4_GH0.tar.gz13428d50c188af0cc8b22e7e4b79e9071694fa06428a9964b22d68dc997fa787a177a
rs-cors-7af7a1e09ba3_GH0.tar.gz9968032d689446a8f30e563c5977518db6873a44d05ef31f41f2666d991923fca536
throttled-throttled-v2.15.0_GH0.tar.gz26655579823d09bca789fe411c07325cb0e31645626d8fdffaf2b6509833826893875

Commit history 7

DateCommitCreditsLog message
d81b7ba3c3 Dag-Erling Smørgrav various: Bump Go ports for Go 1.26.10 / 1.27.3
031fc6bfbf Dag-Erling Smørgrav various: Bump Go ports
dd0905142a Adam Weinberger many: Bump go ports for 1.26.8 and 1.27.1
4867821cd6 Dag-Erling Smørgrav various: Bump go ports for go-1.25.14 / 1.26.7
6d39dcf04e Dag-Erling Smørgrav various: Bump go ports for go-1.25.13 / 1.26.6

The latest 5 of 7 in the history this site was built from.