apache / apache/jena

Publish a docker image up-to-date using a github actions workflow

Open
#3,165 3 comments 2 reactions 0 assignees View on GitHub
enhancement
Dominant language
Java
Stars
1.4k
Forks
712
Avg merge
15h 41m
Merged PRs (30d)
53

Description

### Version

Latest

### Feature

Hi @afs, currently there are 256 images for fuseki on dockerhub: https://hub.docker.com/search?q=fuseki

All of them are outdated, or adding some unwanted quirks on top of Fuseki. Which shows a real need and demand for an officially published fuseki docker image.

Fortunately Fuseki already has an official docker image. But it is not published automatically with each release

Instead, right now in 2025, a user would need to:
1. Go to the documentation page https://jena.apache.org/documentation/fuseki2/fuseki-docker.html
2. Attentively read the documentation to find the link to the download server
4. Navigate the folders to find the zip file containing the Dockerfile https://repo1.maven.org/maven2/org/apache/jena/jena-fuseki-docker/
5. Download this zip file
6. Unzip the zip file
7. Go into this folder with the terminal to run `docker build`

Which is a bit complex when it could be really easily reduced to:

```bash
docker run -it -p 3030:3030 ghcr.io/apache/fuseki:5.4.0
```

Also when you want to use fuseki inside a workflow for testing purpose, you don't want to have to write a 20 lines bash script just to download and build the docker image

All that is needed is to add a github actions workflow to build and publish the docker image on every new release. This work needs to be done once, and will be fully automatic after that. Also it will enable to test the docker build and make sure it does not break in future releases.

I would recommend to use ghcr (GitHub Container Registry) over dockerhub because:
- it keeps everything in one place instead of requiring also a dockerhub account. You can just use the Github token available in the github action workflow
- for now ghcr.io does not have rate limits (dockerhub has limits which makes it problematic on some clusters)

But that is obviously up to you

Writing a workflow to build and publish a docker image is quite easy nowadays, but if you wish I can help you with that

### Are you interested in contributing a solution yourself?

Yes

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the existing Dockerfile in the jena-fuseki-docker archive and the repository's release process. Add a GitHub Actions workflow that builds and publishes the Fuseki image on each release, then verify that the Docker build succeeds and the published image can be run with the documented command.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, github-actions, java
Domain
ci-cd, cloud, devops
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.