# Docker for Orbeon *A naive attempt to build docker images for Orbeon Forms* ## Currently working To create an image of Orbeon CE using its embedded eXist database as its persistence layer: ``` $ docker-compose -f docker-compose-ce.yml -f docker-compose-embedded-exist.yml up ``` To create an image of Orbeon PE using its embedded eXist database as its persistence layer: ``` $ cp secrets/license.xml $ docker-compose -f docker-compose-pe.yml -f docker-compose-embedded-exist.yml up ``` To create an image of Orbeon CE using a MySQL image as its persistence layer: ``` $ cp mysql/tomcat/lib/ $ docker-compose -f docker-compose-ce.yml -f docker-compose-mysql.yml up ``` To create an image of Orbeon PE using a MySQL image as its persistence layer: ``` $ cp postgres/tomcat/lib/ $ cp secrets/license.xml $ docker-compose -f docker-compose-pe.yml -f docker-compose-postgres.yml up ``` To create an image of Orbeon CE using a Postgres image as its persistence layer: ``` $ cp postgres/tomcat/lib/ $ docker-compose -f docker-compose-ce.yml -f docker-compose-postgres.yml up ``` To create an image of Orbeon PE using a Postgres image as its persistence layer: ``` $ cp postgres/tomcat/lib/ $ cp secrets/license.xml $ docker-compose -f docker-compose-pe.yml -f docker-compose-postgres.yml up ``` ## Timezones Timezones can be tricky to configure using Docker (and docker-compose). A common way to copy the host timezone in your containers is to share /etc/timezone as a volume: ``` volumes: - "/etc/timezone:/etc/timezone:ro" ``` This requires, of course, that both your host and the containers relies on this configuration file. ## TODO * Download JDBC drivers at build time (with the current version they need to be manually downloaded before the build) * Download the Orbeon database create scripts at build time (in the current version they are included in this repo) * Support other persistence layers * Use secrets for database credentials * Support modes, authentication, ... * Add user directories * ...