Publish a docker image up-to-date using a github actions workflow
- 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
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