-
Docker images: Carbone Reference images
-
Maintained by: Carbone Team
-
Documentation: On-premise install, options and plugins
-
Where to get help: Chat with us or email us : contact@carbone.io
Carbone is a simple and efficient tool that allows you to generate all your documents. Send a template file and a JSON dataset, and the engine will return the document with all the data inside. Many formats are supported: PDF, ODT, DOCX, XLSX, HTML, XML, PPTX, JPG, PNG, TXT, CSV, EPUB, IDML, ODS, PPTX, ODG, and ODP.
All variants are built from the same Dockerfile, selected by target. Component versions and tags are defined in docker-bake.hcl, see BUILD.md.
docker buildx bake full --load --set '*.platform='| Target | Content |
|---|---|
slim |
Carbone only, no LibreOffice / OnlyOffice / Chrome (no PDF generation) |
slim-alpine |
slim on Alpine Linux (amd64 only) |
full |
LibreOffice + OnlyOffice + Chrome |
full-fonts |
full + all Google Fonts (royalty-free) |
no-onlyoffice |
LibreOffice + Chrome |
no-libreoffice |
OnlyOffice + Chrome |
no-chrome |
LibreOffice + OnlyOffice |
Carbone Enterprise Edition is commercial software that requires a license for its use.
However, you can launch Carbone without a license and enjoy all its "Community Edition" features free of charge and without limits. Please note that advanced functions will not work, and we do not provide support for this version.
To find out how to obtain a Carbone license, contact us by chat or email us: contact@carbone.io
To start Carbone with Community Edition features :
docker run -t -i --rm --platform linux/amd64 -p 4000:4000 carbone/carbone-eeTo start Carbone Enterprise Edition :
export CARBONE_EE_LICENSE=`cat your_license_file.carbone-license`
docker run -t -i --rm --platform linux/amd64 -p 4000:4000 -e CARBONE_EE_LICENSE carbone/carbone-eeYou can then call Carbone API (Full API documentation):
curl http://host-ip:4000/statusRun Carbone via docker-compose
Example docker-compose.yml for carbone-ee:
version: "3.9"
services:
carbone:
image: carbone/carbone-ee
platform: linux/amd64
ports:
- "4000:4000"
secrets:
- source: carbone-license
target: /app/config/prod.carbone-license
environment:
- CARBONE_EE_STUDIO=true
secrets:
carbone-license:
file: your_license.carbone-licenseWith Docker SWARM and Kubernetes, you can run multiple instances of the Carbone container for load balancing and/or failover.
By default, our S3-compatible plugins are included. The corresponding code is here :
All you need to do is configure the following environment variables:
AWS_SECRET_ACCESS_KEY=ACCESS_KEY_IDAWS_ACCESS_KEY_ID=SECRET_KEYAWS_ENDPOINT_URL=s3.api.urlAWS_REGION=parisBUCKET_RENDERS="BUCKET NAME to store your generated documents "BUCKET_TEMPLATES="BUCKET NAME to store your templates "
This plugin can be used with all S3-compatible storage services: AWS S3, GCS, Azure Blob Storage, Minio, etc.
You can also save templates and renders (generated documents), a storage space must be shared among all Carbone instances. This can be a mounted folder or a remote storage (S3, OpenStack Swift). Click to learn more about file persistence.
Standard port mappings can be used if you'd like to access the instance from the host without the container's IP. Add -p 4000:4000 to the docker run arguments and then access either http://localhost:4000 or http://host-ip:4000 in a browser.
The files in this repository (Dockerfile, scripts, deployment examples) are released under the Apache License 2.0.
This license does not cover Carbone Enterprise Edition itself: the Carbone software shipped in the carbone/carbone-ee image is commercial software subject to its own license terms (see Start Carbone instantly). The image also contains third-party software (LibreOffice, OnlyOffice, Chrome, fonts) distributed under their respective licenses.
