System Requirements
- Java7
- Servlet 3.0 container
- Tomcat7
- Jetty 8.x
The github repository has a post-commit hook that trigger a build on ci.fcrepo.org. This build publishes maven artifacts to sonatype, and pushes the fcrepo-kitchen-sink war to futures6: http://fcrepo4.fcrepo.org/fcrepo/rest/.
Fedora 3 is also deployed on futures6: http://fcrepo4.fcrepo.org/fedora.
Deploying with Tomcat
- Set the Java properties (e.g. /etc/default/tomcat7) mentioned in the following Application Configuration section
- We suggest other VM options for general Java tuning as well.
- Drop the fcrepo-webapp (or kitchen sink, or your own distribution) WAR into Tomcat
Application Configuration
System config
- Note: This system config is currently only used in the body of JMS messages
-Dfcrepo.modeshape.configuration=<path-to-repository.json> -Dfcrepo.infinispan.cache_configuration=<path-to-infinispan.xml> -Dfcrepo.host=<hostname> -Dfcrepo.port=<port> -Dfcrepo.ctxt=<context> -Dfcrepo.home=<some-dir>
- fcrepo.modeshape.configuration defaults to "classpath:/config/single/repository.json"
- fcrepo.infinispan.cache_configuration defaults to "config/infinispan/leveldb/infinispan.xml"
- fcrepo.host defaults to "localhost"
- fcrepo.port defaults to "8080"
- fcrepo.ctxt defaults to "rest"
- fcrepo.home can be set to a path (relative to the current working directory or absolute) in which fedora repository content will be written by default. Any of the Modeshape and Infinispan configuration options below will default to being within this folder if unset or if set to a relative path. If unset, content will be put in the "fcrepo4-data" directory within the current working directory.
Modeshape and Infinispan config
-Dcom.arjuna.ats.arjuna.common.ObjectStoreEnvironmentBean.default.objectStoreDir=<some-dir> -Dcom.arjuna.ats.arjuna.objectstore.objectStoreDir=<some-dir> -Dfcrepo.ispn.CacheDirPath=<some-dir> -Dfcrepo.ispn.binary.CacheDirPath=<some-dir> -Dfcrepo.modeshape.index.location=<some-dir> -Dfcrepo.ispn.alternative.CacheDirPath=<some-dir> -Dfcrepo.ispn.binary.alternative.CacheDirPath=<some-dir> -Dfcrepo.ispn.repo.CacheDirPath=<some-dir>
JMS config
-Dfcrepo.activemq.dir=<some-dir>
Clustering config (optional)
-Djgroups.tcp.address=<ip-address> -Dfcrepo.ispn.numOwners=<num-nodes-in-cluster> -Djava.net.PreferIPv4Stack=true -Dfcrepo.ispn.replication.timeout=<timeout-in-ms>
- fcrepo.ispn.replication.timeout can be used to set the timeout of infinispan replication in a clustered environment