Gotenberg is shipped within a Docker image.
You may start it with:
docker run --rm -p 3000:3000 thecodingmachine/gotenberg:6
The API will be available at http://localhost:3000.
The image uses a dedicated non-root user called
gotenberg with uid and gid
If you wish to change those uid and gid, you will have to:
- clone the project
- re-build the image
- publish the image in your own Docker repository
git clone https://github.com/thecodingmachine/gotenberg.gitmake publish GOTENBERG_USER_GID=your_custom_gid GOTENBERG_USER_UID=your_custom_uid DOCKER_REGISTRY=your_registry DOCKER_USER=registry_user DOCKER_PASSWORD=registry_password VERSION=version
main branch is always up-to-date with the latest version of the API.
You may also add it in your Docker Compose stack:
version: "3" services: # your other services gotenberg: image: thecodingmachine/gotenberg:6
The API will be available under
gotenberg:3000 in your Docker Compose network.
It may also be deployed with Kubernetes.
Make sure to provide enough memory and CPU requests (for instance
The more resources are granted, the quicker will be the conversions.
In the deployment specification of the pod, also specify the uid of the user
securityContext: privileged: false runAsUser: 1001
If you're looking for cost savings, you might be interested by Cloud Run. However, according to some users, doing asynchronous conversion (with a webhook) might not working.
In the following examples, we will assume your Gotenberg API is available at http://localhost:3000.