Before running through this guide, please make sure docker has been installed on the machine.
In order to be able to pull Docker images, we need login to the official Docker Hub first by simply using the following command:
docker login |
DMS components have been packaged as three docker images:
To pull these images, please simply execute the commands below:
docker pull practiceinsight/dms_postgresql docker pull practiceinsight/dms_elasticsearch docker pull practiceinsight/dms_nuxeo_suite:1.8.9 |
Requirements to run:
Example command:
docker run -p 5432:5432 \ --volume=/local_postgres_data_folder:/var/db/postgres/data \ --name postgres -d practiceinsight/dms_postgresql |
If you have an running PostgreSQL database which needs to be migrated to the PostgreSQL container, the best way is to export the data first and then import to the PostgreSQL database running with the Docker container. You can mount the existing folder with PostgreSQL 9.3 database, but be sure to have backup, because the owner and permissions of these files will be changed and the data can be changed.
To export the original Nuxeo PostgreSQL database, please use the following commands (please change parameters as needed):
pg_dump --host localhost --port 5433 --username nuxeo --format custom --file "nuxeo-postgresql-db-20150916.bak" nuxeo |
This command will ask for the password of the Nuxeo database, so please prepare that in advance.
After that, we need to copy the backup file to PostgreSQL docker container:
docker cp nuxeo-postgresql-db-20150916.bak postgres:/opt/ |
When importing data, we need to login to the docker container first by using the command below:
docker exec -i -t postgres bash |
and then use the command below to import the old data (please change parameters as needed):
cd /opt/ pg_restore --host localhost --port 5432 --username nuxeo --format custom --dbname=nuxeo "nuxeo-postgresql-db-20150916.bak" |
Requirements to run:
Example command:
docker run -p 9200:9200 -p 9300:9300 \ -v /local_elasticsearch_data_folder:/data \ --name elastic -d practiceinsight/dms_elasticsearch |
Requirements to run:
The following parameters must be set in the nuxeo.conf:
Key | Sample value | Description |
---|---|---|
nuxeo | Nuxeo database name | |
nuxeo.db.user | nuxeo | Nuxeo database username |
nuxeo.db.host | 127.0.0.1 | Nuxeo database hostname or ip |
db (if postgres container is linked) | ||
db.yourserver.com | ||
nuxeo.db.port | 5432 | Nuxeo database port |
nuxeo.db.password | nuxeop | Nuxeo database password |
elasticsearch.addressList | 127.0.0.1:9300 | Elasticsearch server hostname or ip with port |
es:9300 (if elasticsearch container is linked) | ||
es.yourserver.com:9300 | ||
elasticsearch.clusterName | elasticsearch | Name of elasticsearch cluster used for the Nuxeo |
elasticsearch.indexName | nuxeo | Name of elasticsearch Nuxeo index |
elasticsearch.indexNumberOfShards | 5 (is default value in elasticsearch) | Number of elasticsearch shards used for the Nuxeo index |
elasticsearch.indexNumberOfReplicas | 0 | Number of elasticsearch replicas used for the Nuxeo index |
patricia.db.jdbcDriver | com.microsoft.sqlserver.jdbc.SQLServerDriver | JDBC driver to be used (must be embedded to the pi-nuxeo-marketplace) |
patricia.db.jdbcUrl | jdbc:sqlserver://192.168.3.99:1433; databaseName=patricia_GHF_demo; integratedSecurity=false (remove line breaks) | JDBC connection URL (the structure depends on driver) |
patricia.db.username | patricia | Patricia database username |
patricia.db.password | password | Patricia database password |
nuxeo.wizard.done | true | Flag that shows that nuxeo is already configured and no need to launch configuration wizard on the first launch |
Also be sure that Nuxeo installation id is set in the pat_configuration table of Patricia DB.
Container can be linked with postgresql and elasticsearch containers then you can use "db" for postgresql and "es" for elasticsearch as a hostnames of servers in the nuxeo.conf file.
Example command to run with containers linked:
docker run -p 8080:8080 -p 9080:9080 \ -v /local_nuxeo_data_folder:/var/lib/nuxeo/data \ -v /local_config_folder:/etc/nuxeo \ --link postgres:db --link elastic:es \ --name nuxeo practiceinsight/dms_nuxeo_suite:1.8.9 |
Example command to run with external servers linked, in this case be sure that these servers are configured in the nuxeo.conf and are accessible from the host machine:
docker run -p 8080:8080 -p 9080:9080 \ -v /local_nuxeo_data_folder:/var/lib/nuxeo/data \ -v /local_config_folder:/etc/nuxeo \ --name nuxeo practiceinsight/dms_nuxeo_suite:1.8.9 |
Once all three containers are up and running, you should be able to get access to the Nuxeo with PI marketplace installed via:
http://127.0.0.1:8080/nuxeo |
and to the casebrowser via:
http://127.0.0.1:9080/casebrowser |