Deploy thumbor on Your Own Server
Thumbor is a smart imaging service that enables on-demand cropping, resizing, applying filters and optimizing images.
Want to deploy thumbor on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.
What is thumbor?
thumbor is a smart imaging service. It enables on-demand crop, resizing and flipping of images. It also features a VERY smart detection of important points in the image for better cropping and resizing, using state-of-the-art face and feature detection algorithms (more on that in Detection Algorithms). Using thumbor is very easy (after it is running). All you have to do is access it using an URL for an image, like this: http://<thumbor-server>/300x200/smart/s.glbimg.com/et/bb/f/original/2011/03/24/VN0JiwzmOw0b0lg.jpg See http://thumbor.org for more details. Enter your thumbor Configuration parameters and click on next. It will take about a minute for the process to finish.
Self-Host thumbor
Follow these steps to deploy on your own server.
Install Docker
Skip this step if Docker is already installed on your server.
curl -fsSL https://get.docker.com | sh
Configure
Customize the settings below. Defaults work for most cases.
General
Deploy
Copy the configuration and run it on your server.
services:
thumbor:
image: minimalcompact/thumbor:6.7.0
environment:
THUMBOR_PORT: "80"
volumes:
- thumbor-data:/data
volumes:
thumbor-data: {}
Then run:
docker compose up -d
Access
Once started, access your app at http://localhost:80
Why Self-Host thumbor?
Full Data Ownership
Your data stays on your servers. No third-party access.
No Monthly Fees
Pay only for your server. No per-seat or usage charges.
Complete Control
Customize, backup, and scale on your own terms.
Privacy & Compliance
Meet GDPR, HIPAA, or internal security requirements.
Technical Details
Docker Image
minimalcompact/thumbor:${thumbor_version}Want to go faster?
Try Senate! Senate handles Docker, HTTPS, updates, and monitoring for you. Deploy any of our 300+ apps with a single command.
Install on any Linux server:
sh -c "$(curl -sSL https://get.senate.sh)"