Thumbgen ships with a production-readyDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/sanskarsharma/thumbgen/llms.txt
Use this file to discover all available pages before exploring further.
Dockerfile and a docker-compose.yaml so you can containerise the service in a single command. The image is built with a multi-stage pipeline that keeps the final artifact small and self-contained, with ffmpeg bundled in for full video thumbnail support.
How the Dockerfile Works
The build uses two stages:- Builder stage — starts from
golang:1.14-alpine, installs the C toolchain (gcc,g++,make,git), downloads Go module dependencies, and compiles a statically-linked binary with size-optimised linker flags (-ldflags="-s -w"). - Runtime stage — starts from a clean
alpine:3.9image, installsffmpeg(bumping the final image to ~65 MB — withoutffmpegit would be ~12 MB), copies in the compiled binary and thepublic/frontend directory, and exposes port 4499.
Running the Container
- Docker
- Docker Compose
Build the image and start a detached container with port 4499 mapped to your host:The service is then available at
http://localhost:4499.You do not need to set
ENV=LOCAL when running Thumbgen in Docker. The
Alpine-based container has ash available by default, which is exactly what
Thumbgen expects. The ENV=LOCAL flag is only needed when running directly on
macOS or Linux with go run.