Hi Ludovic, in case it is of interest, we currently have the aksw/fuseki- vanilla:5.0.0-1 (or -geoplus) docker containers of Jena 5 (yes, still needs to be updated....). We make them using the fuseki-main server, and also using the modular parts that Andy created out of Fuseki at [1] and launch it with the fuseki-main command [2] (originally posted on the afs repo)
We just build each module like jena-fuseki-server that is required using maven, then pack up the jar files to be loaded. You can find our Dockerfile at [3] You can try it out immediately: docker run --rm --init aksw/fuseki-geoplus:5.0.0-1 Our plan is to make it into an action for easier usage (still has to happen though) Cheers, Simon [1] https://github.com/afs/fuseki-mods [2] https://github.com/AKSW/fuseki-mods/blob/adaptions/apache-fuseki/fuseki-main [3] https://gitlab.com/coypu-project/tools/fuseki-with-jenax/-/blob/fuseki-modded/coypu-fuseki-modded/Dockerfile On Tue, 2024-08-13 at 10:42 +0100, Andy Seaborne wrote: > Hi Ludovic, > > > > On 25/07/2024 15:06, Ludovic Muller wrote: > > Hi! > > > > Thank you for all your great work on Apache Jena and Fuseki! > > > > I need a Fuseki instance that has the following: > > > > - the Fuseki core features > > - the [HTTP Administration > > Protocol](https://jena.apache.org/documentation/fuseki2/fuseki-serv > > er-protocol.html) > > - the UI > > - GeoSPARQL support > > - shiro, that can read its configuration from a `shiro.ini` file > > - get the Fuseki configuration from a `config.ttl` file (where we > > can define all the datasets we need, it can be GeoSPARQL or non- > > GeoSPARQL ones) ; I don't need any help for writing the file, I > > just need the instance to be able to read them. > > > > I managed to trick to get it working for the 4.x versions of Apache > > Jena, but I'm not able to upgrade to 5.x, as it always fails to > > start. > > > > The way I did it was to > > [patch](https://github.com/zazuko/fuseki-geosparql/blob/226c94e8450 > > 05d306438ef4415602fd3c40cdc27/patches/enable-geosparql.diff) the > > `jena-fuseki2/jena-fuseki-core/pom.xml` file to include the `jena- > > geosparql` artifact, and then run `mvn package - > > Dmaven.javadoc.skip=true -DskipTests` in `jena-fuseki2`. > > > > This is how everything was built: > > https://github.com/zazuko/fuseki-geosparql/blob/226c94e845005d306438ef4415602fd3c40cdc27/Dockerfile > > > > Do you have a cleaner and more stable way to create such a Fuseki > > instance? > > By this, I think of creating a new dedicated Maven project (or > > similar) that includes all the necessary dependencies and > > configurations. > > But I will need some help with that, as I never managed to get all > > parts working together. > > > > I know that the Fuseki HTTP Administration Protocol does not > > support GeoSPARQL features (for example create a GeoSPARQL dataset > > from here) ; it could be great to have this in the future (if it > > was not already done), but for now the focus is on getting the > > Fuseki instance with all the mentioned features again, so that we > > can upgrade in an easier way in the future. > > The administration protocol is great for the ping, for the > > compaction, and many other great features, that's why I still need > > it. > > Creating the datasets is done manually in the ttl configuration > > file, so if for now it’s not done using the administration protocol > > is not a huge issue for now. > > > > Right now, when I try to build it using the same way I've done it > > until now, I get the following error: > > > > ``` > > [fuseki 2024-07-25 07:52:45:534 +0000] [main] WARN > > org.eclipse.jetty.ee10.webapp.WebAppContext {} - Failed startup of > > context > > oeje10w.WebAppContext@13ebccd{org.apache.jena.fuseki.Servlet,/,b=fi > > le:///opt/fuseki/webapp/,a=STOPPED,h=oeje10s.SessionHandler@4e80960 > > a{STOPPED}} <file:///opt/fuseki/webapp/,a=STOPPED,h=oeje10s.Session > > Handler@4e80960a%7BSTOPPED%7D%7D> > > java.lang.IllegalArgumentException: Unable to mount FileSystem from > > unsupported URI: jar:file:/opt/fuseki/fuseki-server.jar!/ > > at > > org.eclipse.jetty.util.resource.FileSystemPool.mount(FileSystemPool > > .java:135) ~[fuseki-server.jar:5.1.0] > > at > > org.eclipse.jetty.util.resource.ResourceFactoryInternals$CompositeR > > esourceFactory.mountIfNeeded(ResourceFactoryInternals.java:268) > > ~[fuseki-server.jar:5.1.0] > > ``` > > > > Can someone help me with this? > > What should work is to take jena-fuseki-fulljar POM which is the > fuseki-server.jar in the apache-jena-fuseki download > and add jena-geosparql. > > That's not much different to adding it to jena-fuseki-core, just > better > to put it in later. > > But I don't see why something causes "jar:file:" -- why the "file:" > is > appearing. > > Andy > > > Best, > > Ludovic Muller. > >