Docker Hub contains a repository with images that can be used.
You can mount your print apps in
You can mount additional font in
core/docker/usr/share/fonts/truetype/[font-file], and verity that she is correctly installed by
opening the view
The docker image can be tuned with several environment variables:
CATALINA_OPTS: Java startup parameters.
DEFAULT_LOG_LEVEL: Set the default log level (defaults to
TOMCAT_LOG_LEVEL: Set the tomcat log level (defaults to
LOG_LEVEL: Set the mapfish print log level (defaults to
SPRING_LOG_LEVEL: Set the Spring log level (defaults to
JASPER_LOG_LEVEL: Set the JasperReports log level (defaults to
APACHE_LOG_LEVEL: Set the Apache log level (defaults to
SQL_LOG_LEVEL: Set the SQL (Hibernate) log level (defaults to
SENTRY_LOG_LEVEL: Set the Sentry log level (defaults to
SENTRY_REPORTING_LOG_LEVEL: Starting from what log level to report to Sentry (defaults to
classic(default): The logs are human readable. Access logs are going to stdout and the other logs are going to stderr.
json: The logs will be formatted in a JSON suitable for logstash. Access logs are going to stdout and the other logs are going to stderr.
logstash: The logs will be formatted in a JSON suitable for logstash (@cee) and sent by syslog/UDP. The access logs are going to stdout in json format. More variables are available for this mode:
TOMCAT_LOG_HOST: the target host
TOMCAT_LOG_PORT: the target port
EXTRA_JARS: If set, directory where extra JAR files are taken from. Can be used, for example, to add fonts.
PRINT_YAML_MAX_ALIASES: Set the YAML max alias, see also (defaults to
If you want to tune properties from
You can override them by adding
-D options to the
Sentry integration ¶
You can enable Sentry crash reports by adding a parameter to the
CATALINA_OPTS environment variable with the DSN provided by sentry:
Other parameters are documented here: https://docs.sentry.io/clients/java/config/
In this mode several instances of the print will collaborate together to handle the print jobs. The state is stored in a database. You need to add the following parameters to CATALINA_OPTS:
-Ddb.username=...: The PostgresQL username
-Ddb.password=...: The PostgresQL password
-Ddb.host=...: The PostgresQL host name
-Ddb.name=...: The PostgresQL database name
-Ddb.port=...: The PostgresQL database port (defaults to
docker run --name=mapfish-print-test --publish=8080:8080
--env=CATALINA_OPTS="-Ddb.name=mydb -Ddb.host=myserver -Ddb.username=myuser -Ddb.password=mypwd -Ddb.port=5432"
The necessary tables are created automatically (print_accountings, print_job_results, print_job_statuses). In this mode the container will wait for the database to be reachable before actually starting the tomcat server.
The DB polling can be tuned with those two environment variables:
PRINT_CANCEL_OLD_POLL_INTERVAL: How often in seconds the DB is polled for jobs to be cancelled (default=
PRINT_POLL_INTERVAL: How often in seconds the DB is polled for new jobs (default=