Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stain/jena-docker
Docker image for Apache Jena riot
https://github.com/stain/jena-docker
Last synced: about 2 months ago
JSON representation
Docker image for Apache Jena riot
- Host: GitHub
- URL: https://github.com/stain/jena-docker
- Owner: stain
- License: apache-2.0
- Created: 2015-09-18T13:47:36.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2024-07-31T08:36:30.000Z (6 months ago)
- Last Synced: 2024-10-16T01:21:13.423Z (3 months ago)
- Language: Dockerfile
- Size: 182 KB
- Stars: 99
- Watchers: 14
- Forks: 86
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Docker files for Jena
[![Build](https://github.com/stain/jena-docker/actions/workflows/main.yml/badge.svg)](https://github.com/stain/jena-docker/actions/workflows/main.yml)
This repository hosts [Docker](https://www.docker.com/) recipes for distributing
[Apache Jena](http://jena.apache.org/).Two Docker images are available:
- [jena](jena/) - `riot` command line and friends, for use on the command line
- [fuseki](fuseki/) - the [Fuseki](http://jena.apache.org/documentation/fuseki2/) server with SPARQL endpoint and web interface
These are available from GitHub as:- [ghcr.io/stain/jena](https://github.com/users/stain/packages/container/package/jena)
- [ghcr.io/stain/jena-fuseki](https://github.com/users/stain/packages/container/package/jena-fuseki)..and from the Docker Hub as:
- [stain/jena](https://hub.docker.com/r/stain/jena/)
- [stain/jena-fuseki](https://hub.docker.com/r/stain/jena-fuseki/)Note that although these Docker images are based on the official Apache Jena releases
and do not alter them in any way, they do **not** constitute official releases
from Apache Software Foundation, and are probably not the latest version.## Building
```shell
docker build -t jena jena
docker build -t jena-fuseki jena-fuseki
```
## Dockerfile overviewThe `Dockerfile`s for both images use the official [eclipse-temurin:21-jre-alpine](https://hub.docker.com/r/_/eclipse-temurin/) base image, which is based on the [`Alpine`](https://hub.docker.com/_/alpine/):3.19.1 image; this clocks in at about 62 MB.
The `ENV` variables like `JENA_VERSION` and `FUSEKI_VERSION` determines which version of Jena and Fuseki are downloaded. Updating the version also requires updating the `JENA_SHA512` and `FUSEKI_SHA512` variables, which values should match the official Jena download `.tar.gz.sha512` hashes, as approved in their release `[VOTE]` emails.
The `ASF_MIRROR` use that redirect to a local mirror, with a fallback to the `ASF_ARCHIVE` for older versions.
To minimize layer size, there's a single `RUN` with `curl`, `sha512sum`, `tar zxf` and `mv` - thus the temporary files during download and extraction are not part of the final image.
Some files from the Apache Jena distributions are stripped, e.g. javadocs and the `fuseki.war` file.
The Fuseki image includes some [helper scripts](jena-fuseki/load.sh) to do [tdb loading](https://jena.apache.org/documentation/tdb/commands.html) using `fuseki-server.jar`.
In addition, Fuseki has a [`docker-entrypoint.sh`](https://github.com/stain/jena-docker/blob/master/jena-fuseki/docker-entrypoint.sh) that populates `shiro.ini` with the password provided as `-e ADMIN_PASSWORD` to Docker, or with a new randomly generated password that is printed the first time.## Usage
For usage, see README for each of the Docker images:
* [jena/README.md](jena/README.md)
* [jena-fuseki/README.md](jena-fuseki/README.md)