Deploy Imagor

imagor 1.9: fast image resizing and conversion with signed URLs.

Deploy Imagor

Just deployed

/data

Deploy and Host imagor on Railway

imagor is a fast image processing server written in Go on top of libvips. It resizes, crops, converts and filters images on the fly from a URL, using the same URL syntax as Thumbor. Apps put it in front of their image storage to serve responsive, WebP or AVIF images without preprocessing.

About Hosting imagor

This template runs the official shumc/imagor:1.9.6 image as one public service. Every request must be signed with IMAGOR_SECRET, so strangers cannot use your server to process arbitrary images, and unsigned or unsafe URLs are refused. Images are fetched over HTTP from any source by default; restrict HTTP_LOADER_ALLOWED_SOURCES to your own buckets if you like. Processed results are cached on a Railway volume for seven days and survive redeploys. libvips concurrency is capped at two threads to stay within Railway's container limits and keep memory use predictable. The server runs as the unprivileged nobody user.

Common Use Cases

  • On-the-fly thumbnails and responsive images for a web or mobile app
  • Converting uploads to WebP or AVIF without a build step
  • A Thumbor-compatible image server in front of S3 or any HTTP storage

Dependencies for imagor Hosting

  • shumc/imagor:1.9.6 (official image)
  • A Railway volume at /data for the result cache

Deployment Dependencies

Implementation Details

ServiceSourceNetworkingStorage
imagorshumc/imagor:1.9.6public HTTPSvolume at /data (result cache)
VariableDefaultPurpose
IMAGOR_SECRETgeneratedHMAC key for signed URLs
HTTP_LOADER_ALLOWED_SOURCES*Hosts images may be loaded from
HTTP_LOADER_BASE_URLemptyOptional base URL, so paths can be relative
FILE_RESULT_STORAGE_EXPIRATION168hHow long processed images are cached
VIPS_CONCURRENCY2libvips worker threads

Signing a URL (the hash is base64url of HMAC-SHA1 over the path):

P='fit-in/300x200/filters:format(webp)/example.com/photo.jpg'
H=$(printf %s "$P" | openssl dgst -sha1 -hmac "$IMAGOR_SECRET" -binary | base64 | tr '+/' '-_')
echo "$IMAGOR_BASE_URL/$H/$P"

Client libraries for URL signing exist for most languages; any Thumbor URL builder works too.

This is a community-maintained deployment package and does not imply affiliation with or endorsement by the imagor project.

Why Deploy imagor on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying imagor on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.


Template Content

More templates in this category

View Template
Rocky Linux
Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
47
View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

Lucas
71
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

Letta
51