GraphicsMagick Buildpack
Purpose of this buildpack
By default, our runtime image embeds ImageMagick as image manipulation toolset. However, you may prefer to have GraphicsMagick tools installed alongside your application, this buildpack will fit this need.
Set up this buildpack for your application
This buildpack won’t work alone, you need to combine it with the buildpack of the technology you are using. To achieve that you need to make use of the multi-buildpacks.
You have to write a .buildpacks
file with the reference to this buildpack and the one
you want to use:
https://github.com/Scalingo/graphicsmagick-buildpack.git
https://github.com/Scalingo/nodejs-buildpack.git
Add this file to your git repository:
git add .buildpacks
git commit --message="Setup .buildpacks to install GraphicsMagick alongside the application on Scalingo"
Deploy your application
git push scalingo master
Check everything is working
$ scalingo run gm version
GraphicsMagick 1.3.23 2015-11-07 Q8 http://www.GraphicsMagick.org/
Copyright (C) 2002-2015 GraphicsMagick Group.
Additional copyrights and licenses apply to this software.
See http://www.GraphicsMagick.org/www/Copyright.html for details.
Feature Support:
Native Thread Safe yes
Large Files (> 32 bit) yes
Large Memory (> 32 bit) yes
BZIP yes
DPS no
FlashPix no
FreeType yes
Ghostscript (Library) no
JBIG yes
JPEG-2000 yes
JPEG yes
Little CMS yes
Loadable Modules no
OpenMP yes (201107)
PNG yes
TIFF yes
TRIO no
UMEM no
WebP no
WMF yes
X11 yes
XML yes
ZLIB yes
Host type: x86_64-unknown-linux-gnu
Configured using the command:
./configure '--prefix' '/app/vendor/graphicsmagick'
Final Build Parameters:
CC = gcc -std=gnu99
CFLAGS = -fopenmp -g -O2 -Wall -pthread
CPPFLAGS = -I/usr/include/freetype2 -I/usr/include/libxml2
CXX = g++
CXXFLAGS = -pthread
LDFLAGS = -L/usr/lib/x86_64-linux-gnu
LIBS = -ljbig -llcms2 -ltiff -lfreetype -ljasper -ljpeg -lpng12 -lwmflite -lXext -lSM -lICE -lX11 -llzma -lbz2 -lxml2 -lz -lm -lgomp -lpthread
You should see GraphicsMagick output.
Limiting ImageMagick Resources
ImageMagick supports configuration via the environment. You may want to limit the resources used by ImageMagick with the following environment variables:
-
MAGICK_MEMORY_LIMIT
: Set maximum amount of memory in bytes to allocate for the pixel cache from the heap. When this limit is exceeded, the image pixels are cached to memory-mapped disk. -
MAGICK_MAP_LIMIT
: Set maximum amount of memory map in bytes to allocate for the pixel cache. When this limit is exceeded, the image pixels are cached to disk. -
MAGICK_TIME_LIMIT
: Set maximum time in seconds. When this limit is exceeded, an exception is thrown and processing stops.
Last update: 08 Oct 2024
Suggest edits