-
Notifications
You must be signed in to change notification settings - Fork 243
Modernize Docker setup: build from source, add OWL2VOWL integration #214
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Replace WAR downloads with multi-stage builds from GitHub source - Update from Java 8 Alpine to Java 11/17 Temurin - Add Dockerfile.combined: all-in-one image with nginx reverse proxy - Add Dockerfile.owl2vowl: dedicated OWL2VOWL converter service - Add comprehensive documentation (PODMAN_SETUP.md, QUICK_START.md) - Podman and Docker compatible - Fixes broken WAR file downloads from vowl.visualdataweb.org This allows users to run WebVOWL with OWL2VOWL converter without depending on external file downloads that are no longer available.
| container_name: webvowl | ||
| ports: | ||
| - "8080:8080" | ||
| networks: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Extra network is not necessary. compose creates one as default per compose project
| # Use tomcat java 8 alpine as base image | ||
| FROM tomcat:9-jre8-alpine | ||
| # Build stage: Build WebVOWL from source since WAR downloads are no longer available | ||
| FROM docker.io/library/node:18-alpine AS builder |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
newer node versions probably not work because of the old project?
| # Option 2: Use JRE 17 LTS on Temurin (recommended, modern Java - ~250MB) | ||
| FROM docker.io/library/tomcat:9-jre17-temurin-noble | ||
|
|
||
| # Option 3: Use JRE 21 LTS on Temurin (latest LTS - ~250MB) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why not this?
|
|
||
| # Runtime stage: Tomcat server | ||
| # Option 1: Use JRE 8 Alpine (smaller but older Java - ~100MB) | ||
| # FROM docker.io/library/tomcat:9-jre8-alpine |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If tested commented options are not necessary
| @@ -0,0 +1,53 @@ | |||
| ############### | |||
| # OWL2VOWL # | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what purpose do you see in keeping both variants? combined vs single one images?
If splitted owl2vowl has to be in its one repository
| @@ -0,0 +1,226 @@ | |||
| # WebVOWL with Podman Setup | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
to specific and podman is not commonly used. It should be better done with docker as podman should work as direct replacement to docker.
| @@ -0,0 +1,141 @@ | |||
| # WebVOWL + OWL2VOWL Quick Start Guide | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This file is not needed. Everything should be done in the README itself.
| All Docker commands work with Podman. Simply replace `docker` with `podman`: | ||
|
|
||
| ```bash | ||
| podman build -t webvowl:combined -f Dockerfile.combined . |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
again no podman
|
Thank you for your feedback, I will stick to docker |
Problem
Solution
This PR modernizes the Docker setup with:
Changes
Files Added
Dockerfile.combined- Recommended all-in-one setupDockerfile.owl2vowl- Standalone OWL2VOWL converternginx-combined.conf,supervisord.conf- Config files for combined image.dockerignore- Optimize build contextPODMAN_SETUP.md,QUICK_START.md- DocumentationFiles Modified
Dockerfile- Modernized with Java 17, multi-stage builddocker-compose.yml- Updated for separate servicesREADME.md- Added Docker/Podman instructionsTesting
✅ Tested with Podman 4.x on Ubuntu
✅ WebVOWL frontend accessible
✅ OWL2VOWL converter functional (IRI loading works)
✅ All services start and communicate correctly
Usage