orbeon-docker/README.md

72 lines
2.1 KiB
Markdown
Raw Permalink Normal View History

2018-02-15 17:21:49 +00:00
# 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:
2018-02-15 17:34:56 +00:00
2018-02-15 17:21:49 +00:00
```
$ cp <my-licence-file> 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-jdbc-driver> 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:
2018-02-15 17:34:56 +00:00
2018-02-15 17:21:49 +00:00
```
2019-04-09 21:42:01 +00:00
$ cp <postgres-jdbc-driver> postgres/tomcat/lib/
$ cp <my-licence-file> 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-jdbc-driver> 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-jdbc-driver> postgres/tomcat/lib/
2018-02-15 17:21:49 +00:00
$ cp <my-licence-file> secrets/license.xml
2019-04-09 21:42:01 +00:00
$ docker-compose -f docker-compose-pe.yml -f docker-compose-postgres.yml up
2018-02-15 17:21:49 +00:00
```
2019-04-17 15:11:05 +00:00
## Timezones
2018-02-15 17:21:49 +00:00
2019-04-17 15:11:05 +00:00
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.
2019-04-09 21:42:01 +00:00
2018-02-15 17:21:49 +00:00
## TODO
2019-04-09 21:42:01 +00:00
* 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)
2018-02-15 17:21:49 +00:00
* Support other persistence layers
* Use secrets for database credentials
* Support modes, authentication, ...
* Add user directories
2018-02-15 17:34:56 +00:00
* ...
2018-02-15 17:21:49 +00:00