diff --git a/4.7.5/Dockerfile b/4.7.5/Dockerfile new file mode 100644 index 0000000..f25a4d7 --- /dev/null +++ b/4.7.5/Dockerfile @@ -0,0 +1,142 @@ +FROM ubuntu:14.04 + +MAINTAINER Yinlin Chen "ylchen@vt.edu" + +ARG FedoraConfig= +ARG ModeshapeConfig=file-simple + +# Install essential packages +RUN apt-get update && apt-get install -y \ + build-essential \ + curl \ + maven \ + openssh-server \ + software-properties-common \ + vim \ + wget \ + htop tree zsh fish + + +# Install Java 8 +# Define commonly used JAVA_HOME variable +ENV JAVA_HOME /usr/lib/jvm/java-8-oracle + +RUN add-apt-repository -y ppa:webupd8team/java \ + && apt-get update -y \ + && echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections \ + && apt-get install -y oracle-java8-installer \ + && update-java-alternatives -s java-8-oracle \ + && rm -rf /var/lib/apt/lists/* \ + && rm -rf /var/cache/oracle-jdk8-installer + + +# Install Tomcat 7. +ENV CATALINA_HOME /usr/local/tomcat7 +ENV PATH $CATALINA_HOME/bin:$PATH +ENV TOMCAT_MAJOR 7 +ENV TOMCAT_VERSION 7.0.72 +ENV TOMCAT_TGZ_URL http://archive.apache.org/dist/tomcat/tomcat-$TOMCAT_MAJOR/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz + +RUN mkdir -p "$CATALINA_HOME" \ + && cd $CATALINA_HOME \ + && set -x \ + && curl -fSL "$TOMCAT_TGZ_URL" -o tomcat.tar.gz \ + && tar -xvf tomcat.tar.gz --strip-components=1 \ + && rm bin/*.bat \ + && rm tomcat.tar.gz* \ + && useradd -ms /bin/bash tomcat7 \ + && sed -i '$i$i$i$i$i$i$i' /usr/local/tomcat7/conf/tomcat-users.xml + +RUN echo 'JAVA_OPTS="$JAVA_OPTS -Dfcrepo.modeshape.configuration=classpath:/config/'$ModeshapeConfig'/repository.json -Dfcrepo.home=/mnt/ingest -Dfcrepo.audit.container=/audit"' > $CATALINA_HOME/bin/setenv.sh \ + && chmod +x $CATALINA_HOME/bin/setenv.sh + + +# Make the ingest directory +RUN mkdir /mnt/ingest \ + && chown -R tomcat7:tomcat7 /mnt/ingest + +VOLUME /mnt/ingest + + +# Install Fedora4 +ENV FEDORA_VERSION 4.7.5 +ENV FEDORA_TAG 4.7.5 + +RUN mkdir -p /var/lib/tomcat7/fcrepo4-data \ + && chown tomcat7:tomcat7 /var/lib/tomcat7/fcrepo4-data \ + && chmod g-w /var/lib/tomcat7/fcrepo4-data \ + && cd /tmp \ + && curl -fSL https://github.com/fcrepo4-exts/fcrepo-webapp-plus/releases/download/fcrepo-webapp-plus-$FEDORA_TAG/fcrepo-webapp-plus-$FedoraConfig$FEDORA_VERSION.war -o fcrepo.war \ + && cp fcrepo.war /usr/local/tomcat7/webapps/fcrepo.war \ + && chown tomcat7:tomcat7 /usr/local/tomcat7/webapps/fcrepo.war + + +# Install Solr +ENV SOLR_VERSION 4.10.3 +ENV SOLR_HOME /usr/local/tomcat7/solr + +RUN cd /tmp \ + && curl -fSL http://archive.apache.org/dist/lucene/solr/$SOLR_VERSION/solr-$SOLR_VERSION.tgz -o solr-$SOLR_VERSION.tgz \ + && curl -fSL http://repo1.maven.org/maven2/commons-logging/commons-logging/1.1.2/commons-logging-1.1.2.jar -o commons-logging-1.1.2.jar \ + && mkdir -p "$SOLR_HOME" \ + && tar -xzf solr-"$SOLR_VERSION".tgz \ + && cp -v /tmp/solr-"$SOLR_VERSION"/dist/solr-"$SOLR_VERSION".war /usr/local/tomcat7/webapps/solr.war \ + && chown tomcat7:tomcat7 /usr/local/tomcat7/webapps/solr.war \ + && cp "commons-logging-1.1.2.jar" /usr/local/tomcat7/lib \ + && cp /tmp/solr-"$SOLR_VERSION"/example/lib/ext/slf4j* /usr/local/tomcat7/lib \ + && cp /tmp/solr-"$SOLR_VERSION"/example/lib/ext/log4j* /usr/local/tomcat7/lib \ + && chown -hR tomcat7:tomcat7 /usr/local/tomcat7/lib \ + && cp -Rv /tmp/solr-"$SOLR_VERSION"/example/solr/* $SOLR_HOME \ + && chown -hR tomcat7:tomcat7 $SOLR_HOME \ + && touch /var/lib/tomcat7/velocity.log \ + && chown tomcat7:tomcat7 /var/lib/tomcat7/velocity.log + +COPY config/schema.xml $SOLR_HOME/collection1/conf/ + +RUN chown -hR tomcat7:tomcat7 $SOLR_HOME + +# Install Fuseki +ENV FUSEKI_VERSION 2.3.1 +ENV FUSEKI_BASE /etc/fuseki +ENV FUSEKI_DEPLOY /usr/local/tomcat7/webapps + +RUN cd && mkdir -p "$FUSEKI_BASE" \ + && mkdir -p "$FUSEKI_BASE"/configuration \ + && chown -hR tomcat7:tomcat7 $FUSEKI_BASE \ + && cd /tmp \ + && curl -fSL http://archive.apache.org/dist/jena/binaries/apache-jena-fuseki-$FUSEKI_VERSION.tar.gz -o apache-jena-fuseki-$FUSEKI_VERSION.tar.gz \ + && tar -xzvf apache-jena-fuseki-$FUSEKI_VERSION.tar.gz \ + && mv apache-jena-fuseki-"$FUSEKI_VERSION" jena-fuseki1-"$FUSEKI_VERSION" \ + && cd jena-fuseki1-"$FUSEKI_VERSION" \ + && mv -v fuseki.war $FUSEKI_DEPLOY \ + && chown -hR tomcat7:tomcat7 $FUSEKI_DEPLOY/fuseki.war + +COPY config/shiro.ini /root/ +COPY config/test.ttl /root/ + +RUN cp /root/shiro.ini /etc/fuseki/. \ + && cp /root/test.ttl /etc/fuseki/configuration/. + +# Install Apache Karaf +ENV KARAF_VERSION 4.0.5 + +COPY config/karaf_service.script /root/ + +RUN cd /tmp \ + && wget -q -O "apache-karaf-$KARAF_VERSION.tar.gz" "http://archive.apache.org/dist/karaf/"$KARAF_VERSION"/apache-karaf-"$KARAF_VERSION".tar.gz" \ + && tar -zxvf apache-karaf-$KARAF_VERSION.tar.gz \ + && mv /tmp/apache-karaf-$KARAF_VERSION /opt \ + && ln -s "/opt/apache-karaf-$KARAF_VERSION" /opt/karaf + +# Fedora Camel Toolbox +COPY config/fedora_camel_toolbox.script /root/ +COPY scripts/fedora_camel_toolbox.sh /root/ + +COPY scripts/runall.sh /root/ + +EXPOSE 8080 +EXPOSE 9080 + +WORKDIR $CATALINA_HOME + +CMD sh /root/runall.sh diff --git a/4.7.5/README.md b/4.7.5/README.md new file mode 100644 index 0000000..ae9eaae --- /dev/null +++ b/4.7.5/README.md @@ -0,0 +1,69 @@ +# Fedora 4 Docker Repo + +This is the Git repo of the Docker image for [Fedora 4 docker](https://hub.docker.com/r/yinlinchen/fcrepo4-docker/). Please see the [Hub page](https://hub.docker.com/r/yinlinchen/fcrepo4-docker/) for the full readme on how to use the Docker image and for information regarding contributing and issues. + +## Requirements + +* [Docker](https://www.docker.com/) + +## Usage + +1. `docker pull yinlinchen/fcrepo4-docker` +2. `docker run -it -p 8080:8080 -d yinlinchen/fcrepo4-docker:4.7.5` +3. Use `docker ps` to check the "CONTAINER ID" and "STATUS". The container should be ready to use after 5 minutes. + +You can shell into the machine with `docker exec -i -t "CONTAINER ID" /bin/bash` + +## In this Docker image + +* Ubuntu 14.04 64-bit machine with: + * [Tomcat 7.0.72](https://tomcat.apache.org) at [http://localhost:8080](http://localhost:8080) + * Manager username = "fedora4", password = "fedora4" + * [Fedora 4.7.5](https://wiki.duraspace.org/display/FF/Downloads) at [http://localhost:8080/fcrepo](http://localhost:8080/fcrepo) + * No authentication configured + * [Solr 4.10.3](https://lucene.apache.org/solr/) at [http://localhost:8080/solr](http://localhost:8080/solr), for indexing & searching your content. + * Installed in "/usr/local/tomcat7/solr" + * [Apache Karaf 4.0.5](http://karaf.apache.org/) + Installed in /opt/karaf + Installed as a service apache-karaf + * [Fuseki 2.3.1](https://jena.apache.org/documentation/serving_data/index.html) at [http://localhost:8080/fuseki](http://localhost:8080/fuseki), for querying and updating. + * Installed in "/etc/fuseki" + * Dataset Path name "/test" + * Persistent storage "/etc/fuseki/databases/test_data" + * [Fcrepo-camel-toolbox 4.7.2](https://github.com/fcrepo4-labs/fcrepo-camel-toolbox) + * Installed in Tomcat container + + ps. MacOS: docker is configured to use the default machine with IP e.g. 192.168.99.100 or 127.0.0.1, the Fedora 4 URL is either [http://192.168.99.100:8080/fcrepo](http://192.168.99.100:8080/fcrepo) or [http://127.0.0.1/fcrepo](http://127.0.0.1/fcrepo). You can use "docker-machine ip" to see your docker machine IP. + + +## Fedora Configuration +The default Docker build is Fedora 4 without WebAC and Audit capability. +``` +docker build -t="4.7.5-default" . +``` + +To enable Fedora 4 with WebAC enabled. +``` +docker build --build-arg FedoraConfig=webac- --build-arg ModeshapeConfig=servlet-auth -t="4.7.5-webac" . +``` +Three Fedora user accounts are available: + * user account testuser, with password password1 + * user account adminuser, with password password2 + * admin account fedoraAdmin with the password secret3 + +To enable Fedora 4 with Audit capability. +``` +docker build --build-arg FedoraConfig=audit- -t="4.7.5-audit" . +``` + +To enable Fedora 4 with WebAC and Audit capability. +``` +docker build --build-arg FedoraConfig=webac-audit- --build-arg ModeshapeConfig=servlet-auth -t="4.7.5-webac-audit" . +``` + +## Maintainers + +Current maintainers: + +* [Yinlin Chen](https://github.com/yinlinchen) +* [Paul Mather](https://github.com/pmather) diff --git a/4.7.5/config/fedora_camel_toolbox.script b/4.7.5/config/fedora_camel_toolbox.script new file mode 100755 index 0000000..799b0bc --- /dev/null +++ b/4.7.5/config/fedora_camel_toolbox.script @@ -0,0 +1,11 @@ +feature:repo-add mvn:org.apache.activemq/activemq-karaf/5.14.0/xml/features +feature:repo-add mvn:org.apache.camel.karaf/apache-camel/2.18.0/xml/features +feature:repo-add mvn:org.fcrepo.camel/toolbox-features/4.7.2/xml/features +feature:install fcrepo-service-activemq +feature:install fcrepo-ldpath +feature:install fcrepo-fixity +feature:install fcrepo-indexing-solr +feature:install fcrepo-indexing-triplestore +feature:install fcrepo-reindexing +feature:install fcrepo-serialization +feature:install fcrepo-audit-triplestore \ No newline at end of file diff --git a/4.7.5/config/karaf_service.script b/4.7.5/config/karaf_service.script new file mode 100644 index 0000000..aeb5e8d --- /dev/null +++ b/4.7.5/config/karaf_service.script @@ -0,0 +1,4 @@ +feature:install wrapper +shell:sleep 1000 +wrapper:install +logout diff --git a/4.7.5/config/schema.xml b/4.7.5/config/schema.xml new file mode 100644 index 0000000..28b1276 --- /dev/null +++ b/4.7.5/config/schema.xml @@ -0,0 +1,1170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/4.7.5/config/shiro.ini b/4.7.5/config/shiro.ini new file mode 100644 index 0000000..dca731d --- /dev/null +++ b/4.7.5/config/shiro.ini @@ -0,0 +1,37 @@ +# Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0 + +[main] +# Development +ssl.enabled = false + +plainMatcher=org.apache.shiro.authc.credential.SimpleCredentialsMatcher +#iniRealm=org.apache.shiro.realm.text.IniRealm +iniRealm.credentialsMatcher = $plainMatcher + +localhostFilter=org.apache.jena.fuseki.authz.LocalhostFilter + +[users] +# Implicitly adds "iniRealm = org.apache.shiro.realm.text.IniRealm" +admin=pw + +[roles] + +[urls] +## Control functions open to anyone +/$/status = anon +/$/ping = anon + +## and the rest are restricted to localhost. +#/$/** = localhostFilter + +## If you want simple, basic authentication user/password +## on the operations, +## 1 - set a better password in [users] above. +## 2 - comment out the "#/$/** = localhost" line and use: +## "/$/** = authcBasic,user[admin]" + +## or to allow any access. +/$/** = anon + +# Everything else +/**=anon diff --git a/4.7.5/config/test.ttl b/4.7.5/config/test.ttl new file mode 100755 index 0000000..a30e949 --- /dev/null +++ b/4.7.5/config/test.ttl @@ -0,0 +1,38 @@ +@prefix : <#> . +@prefix ja: . +@prefix rdf: . +@prefix rdfs: . +@prefix tdb: . +@prefix fuseki: . + +# This triple is defined pre-emptively, as it is needed for +# Fuseki 2.4.0 (with inference and TDB); it is fixed for +# future releases and not necessary for earlier versions. +tdb:GraphTDB rdfs:subClassOf ja:Model . + +<#testService> a fuseki:Service ; + rdfs:label "test" ; + fuseki:name "test" ; + fuseki:serviceQuery "query" , "sparql" ; + fuseki:serviceReadGraphStore "get" ; + fuseki:serviceReadWriteGraphStore "data" ; + fuseki:serviceUpdate "update" ; + fuseki:serviceUpload "upload" ; + fuseki:dataset <#dataset> . + +<#dataset> a ja:RDFDataset ; + ja:defaultGraph <#model> . + +<#model> a ja:InfModel ; + ja:baseModel <#tdbGraph> ; + ja:content <#fedoraInf> ; + ja:reasoner [ + ja:reasonerURL ] . + +<#tdbGraph> a tdb:GraphTDB ; + tdb:dataset <#tdbDataset> . + +<#tdbDataset> a tdb:DatasetTDB ; + tdb:location "/etc/fuseki/databases/test_data" . + +<#fedoraInf> ja:literalContent " owl:inverseOf " . diff --git a/4.7.5/scripts/fedora_camel_toolbox.sh b/4.7.5/scripts/fedora_camel_toolbox.sh new file mode 100755 index 0000000..16986fb --- /dev/null +++ b/4.7.5/scripts/fedora_camel_toolbox.sh @@ -0,0 +1,57 @@ +###################### +# Fedora Camel Toolbox +###################### + +/opt/karaf/bin/client -u karaf -h localhost -a 8101 -f "/root/fedora_camel_toolbox.script" + +# ActiveMQ +if [ ! -f "/opt/karaf/etc/org.fcrepo.camel.service.activemq.cfg" ]; then + /opt/karaf/bin/client -u karaf -h localhost -a 8101 "feature:install fcrepo-service-activemq" +fi + +# LDPath +if [ ! -f "/opt/karaf/etc/org.fcrepo.camel.ldpath.cfg" ]; then + /opt/karaf/bin/client -u karaf -h localhost -a 8101 "feature:install fcrepo-ldpath" +fi + +sed -i 's|fcrepo.authUsername=$|fcrepo.authUsername=fedoraAdmin|' /opt/karaf/etc/org.fcrepo.camel.ldpath.cfg +sed -i 's|fcrepo.authPassword=$|fcrepo.authPassword=secret3|' /opt/karaf/etc/org.fcrepo.camel.ldpath.cfg + + +# Solr indexing +if [ ! -f "/opt/karaf/etc/org.fcrepo.camel.indexing.solr.cfg" ]; then + /opt/karaf/bin/client -u karaf -h localhost -a 8101 "feature:install fcrepo-indexing-solr" +fi +sed -i 's|solr.baseUrl=http://localhost:8983/solr/collection1|solr.baseUrl=http://localhost:8080/solr/collection1|' /opt/karaf/etc/org.fcrepo.camel.indexing.solr.cfg + +# Triplestore indexing +if [ ! -f "/opt/karaf/etc/org.fcrepo.camel.indexing.triplestore.cfg" ]; then + /opt/karaf/bin/client -u karaf -h localhost -a 8101 "feature:install fcrepo-indexing-triplestore" +fi + +# Audit service +if [ ! -f "/opt/karaf/etc/org.fcrepo.camel.audit.cfg" ]; then + /opt/karaf/bin/client -u karaf -h localhost -a 8101 "feature:install fcrepo-audit-triplestore" +fi + +# Fixity service +sleep 10 +if [ ! -f "/opt/karaf/etc/org.fcrepo.camel.fixity.cfg" ]; then + /opt/karaf/bin/client -u karaf -h localhost -a 8101 "feature:install fcrepo-fixity" + sleep 10 +fi + +# Serialization service +if [ ! -f "/opt/karaf/etc/org.fcrepo.camel.serialization.cfg" ]; then + /opt/karaf/bin/client -u karaf -h localhost -a 8101 "feature:install fcrepo-serialization" +fi + +# Reindexing service +if [ ! -f "/opt/karaf/etc/org.fcrepo.camel.reindexing.cfg" ]; then + /opt/karaf/bin/client -u karaf -h localhost -a 8101 "feature:install fcrepo-reindexing" +fi +sed -i 's|rest.host=localhost$|rest.host=0.0.0.0|' /opt/karaf/etc/org.fcrepo.camel.reindexing.cfg + +sed -i 's|fcrepo.authUsername=$|fcrepo.authUsername=fedoraAdmin|' /opt/karaf/etc/org.fcrepo.camel.service.cfg +sed -i 's|fcrepo.authPassword=$|fcrepo.authPassword=secret3|' /opt/karaf/etc/org.fcrepo.camel.service.cfg + diff --git a/4.7.5/scripts/runall.sh b/4.7.5/scripts/runall.sh new file mode 100755 index 0000000..5573d9e --- /dev/null +++ b/4.7.5/scripts/runall.sh @@ -0,0 +1,16 @@ +/opt/karaf/bin/start +sleep 10 +/opt/karaf/bin/client -f /root/karaf_service.script +/opt/karaf/bin/stop +ln -s /opt/karaf/bin/karaf-service /etc/init.d/ +update-rc.d karaf-service defaults +sed -i "s|#org.ops4j.pax.url.mvn.localRepository=|org.ops4j.pax.url.mvn.localRepository=~/.m2/repository|" /opt/karaf/etc/org.ops4j.pax.url.mvn.cfg +/opt/karaf/bin/start +sleep 60 +/root/fedora_camel_toolbox.sh +/opt/karaf/bin/stop +sleep 30 +/opt/karaf/bin/start +sleep 60 +cd $CATALINA_HOME +catalina.sh run diff --git a/Dockerfile b/Dockerfile index 90a32e2..f25a4d7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -59,8 +59,8 @@ VOLUME /mnt/ingest # Install Fedora4 -ENV FEDORA_VERSION 4.7.4 -ENV FEDORA_TAG 4.7.4 +ENV FEDORA_VERSION 4.7.5 +ENV FEDORA_TAG 4.7.5 RUN mkdir -p /var/lib/tomcat7/fcrepo4-data \ && chown tomcat7:tomcat7 /var/lib/tomcat7/fcrepo4-data \ @@ -97,7 +97,7 @@ RUN chown -hR tomcat7:tomcat7 $SOLR_HOME # Install Fuseki ENV FUSEKI_VERSION 2.3.1 -ENV FUSEKI_BASE /usr/local/fuseki +ENV FUSEKI_BASE /etc/fuseki ENV FUSEKI_DEPLOY /usr/local/tomcat7/webapps RUN cd && mkdir -p "$FUSEKI_BASE" \ @@ -114,8 +114,8 @@ RUN cd && mkdir -p "$FUSEKI_BASE" \ COPY config/shiro.ini /root/ COPY config/test.ttl /root/ -RUN cp /root/shiro.ini /usr/local/fuseki/. \ - && cp /root/test.ttl /usr/local/fuseki/configuration/. +RUN cp /root/shiro.ini /etc/fuseki/. \ + && cp /root/test.ttl /etc/fuseki/configuration/. # Install Apache Karaf ENV KARAF_VERSION 4.0.5 diff --git a/README.md b/README.md index 932b710..4728737 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ This is the Git repo of the Docker image for [Fedora 4 docker](https://hub.docke ## Usage 1. `docker pull yinlinchen/fcrepo4-docker` -2. `docker run -it -p 8080:8080 -p 9080:9080 -d yinlinchen/fcrepo4-docker:4.7.4` +2. `docker run -it -p 8080:8080 -d yinlinchen/fcrepo4-docker:4.7.5` 3. Use `docker ps` to check the "CONTAINER ID" and "STATUS". The container should be ready to use after 5 minutes. You can shell into the machine with `docker exec -i -t "CONTAINER ID" /bin/bash` @@ -19,7 +19,7 @@ You can shell into the machine with `docker exec -i -t "CONTAINER ID" /bin/bash` * Ubuntu 14.04 64-bit machine with: * [Tomcat 7.0.72](https://tomcat.apache.org) at [http://localhost:8080](http://localhost:8080) * Manager username = "fedora4", password = "fedora4" - * [Fedora 4.7.4](https://wiki.duraspace.org/display/FF/Downloads) at [http://localhost:8080/fcrepo](http://localhost:8080/fcrepo) + * [Fedora 4.7.5](https://wiki.duraspace.org/display/FF/Downloads) at [http://localhost:8080/fcrepo](http://localhost:8080/fcrepo) * No authentication configured * [Solr 4.10.3](https://lucene.apache.org/solr/) at [http://localhost:8080/solr](http://localhost:8080/solr), for indexing & searching your content. * Installed in "/usr/local/tomcat7/solr" @@ -27,10 +27,10 @@ You can shell into the machine with `docker exec -i -t "CONTAINER ID" /bin/bash` Installed in /opt/karaf Installed as a service apache-karaf * [Fuseki 2.3.1](https://jena.apache.org/documentation/serving_data/index.html) at [http://localhost:8080/fuseki](http://localhost:8080/fuseki), for querying and updating. - * Installed in "/usr/local/fuseki" + * Installed in "/etc/fuseki" * Dataset Path name "/test" - * Persistent storage "/usr/local/fuseki/databases/test_data" - * [Fcrepo-camel-toolbox 4.6.1](https://github.com/fcrepo4-labs/fcrepo-camel-toolbox) + * Persistent storage "/etc/fuseki/databases/test_data" + * [Fcrepo-camel-toolbox 4.7.2](https://github.com/fcrepo4-labs/fcrepo-camel-toolbox) * Installed in Tomcat container ps. MacOS: docker is configured to use the default machine with IP e.g. 192.168.99.100 or 127.0.0.1, the Fedora 4 URL is either [http://192.168.99.100:8080/fcrepo](http://192.168.99.100:8080/fcrepo) or [http://127.0.0.1/fcrepo](http://127.0.0.1/fcrepo). You can use "docker-machine ip" to see your docker machine IP. diff --git a/config/fedora_camel_toolbox.script b/config/fedora_camel_toolbox.script index eaf2639..799b0bc 100755 --- a/config/fedora_camel_toolbox.script +++ b/config/fedora_camel_toolbox.script @@ -1,4 +1,6 @@ -feature:repo-add mvn:org.fcrepo.camel/toolbox-features/4.6.1/xml/features +feature:repo-add mvn:org.apache.activemq/activemq-karaf/5.14.0/xml/features +feature:repo-add mvn:org.apache.camel.karaf/apache-camel/2.18.0/xml/features +feature:repo-add mvn:org.fcrepo.camel/toolbox-features/4.7.2/xml/features feature:install fcrepo-service-activemq feature:install fcrepo-ldpath feature:install fcrepo-fixity diff --git a/config/test.ttl b/config/test.ttl index 769e246..a30e949 100644 --- a/config/test.ttl +++ b/config/test.ttl @@ -1,21 +1,38 @@ -@prefix : . -@prefix tdb: . -@prefix rdf: . +@prefix : <#> . @prefix ja: . +@prefix rdf: . @prefix rdfs: . +@prefix tdb: . @prefix fuseki: . -:service_tdb_all a fuseki:Service ; +# This triple is defined pre-emptively, as it is needed for +# Fuseki 2.4.0 (with inference and TDB); it is fixed for +# future releases and not necessary for earlier versions. +tdb:GraphTDB rdfs:subClassOf ja:Model . + +<#testService> a fuseki:Service ; rdfs:label "test" ; - fuseki:dataset :tdb_dataset_readwrite ; fuseki:name "test" ; fuseki:serviceQuery "query" , "sparql" ; fuseki:serviceReadGraphStore "get" ; - fuseki:serviceReadWriteGraphStore - "data" ; + fuseki:serviceReadWriteGraphStore "data" ; fuseki:serviceUpdate "update" ; - fuseki:serviceUpload "upload" . + fuseki:serviceUpload "upload" ; + fuseki:dataset <#dataset> . + +<#dataset> a ja:RDFDataset ; + ja:defaultGraph <#model> . + +<#model> a ja:InfModel ; + ja:baseModel <#tdbGraph> ; + ja:content <#fedoraInf> ; + ja:reasoner [ + ja:reasonerURL ] . + +<#tdbGraph> a tdb:GraphTDB ; + tdb:dataset <#tdbDataset> . + +<#tdbDataset> a tdb:DatasetTDB ; + tdb:location "/etc/fuseki/databases/test_data" . -:tdb_dataset_readwrite - a tdb:DatasetTDB ; - tdb:location "/usr/local/fuseki/databases/test_data" . +<#fedoraInf> ja:literalContent " owl:inverseOf " .