Skip to content

xh/xh-tomcat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hoist Dockerfile: xh-tomcat

Hoist React apps can be deployed via Docker containers running Tomcat (for Hoist's Grails based back-end) and nginx (to serve compiled client JS/CSS and other assets).

This repo contains a minimal Dockerfile to build the base Tomcat container, which can be used by app-specific Docker deployments with additional configurations.

Tomcat versions, JDK versions and Docker tags

Images are published to Docker Hub as xhio/xh-tomcat, producing the variants below.

Variant Tomcat JDK Source base image Docker tag(s)
next-tc10-jdk17 10.1 17 tomcat:10.1-jdk17 next-tc10-jdk17
next-tc10-jdk21 10.1 21 tomcat:10.1-jdk21 next-tc10-jdk21
next-tc10-jdk25 10.1 25 tomcat:10.1-jdk25 next-tc10-jdk25
release-tc10-jdk17 10.1.55 17 tomcat:10.1.55-jdk17 latest-tc10-jdk17, 4.1.0-tc10-jdk17
release-tc10-jdk21 10.1.55 21 tomcat:10.1.55-jdk21 latest-tc10-jdk21, 4.1.0-tc10-jdk21
release-tc10-jdk25 10.1.55 25 tomcat:10.1.55-jdk25 latest-tc10-jdk25, 4.1.0-tc10-jdk25

next-* tags are fully mutable. Every variant is rebuilt on every commit to develop and on a weekly schedule (Wednesday ~20:00 ET) so they pick up upstream patches to the floating Tomcat base images. They are intended for testing and snapshot-style deployments.

release-* builds publish two tags per (Tomcat line, JDK) pair: an immutable tag pinned to a specific xh-tomcat semver release (recorded in CHANGELOG.md) and a mutable tag that floats to the most recent release of that pair.

Branches and CI

This repo uses a single develop branch (and a master branch tracking the most recent release).

GitHub Actions workflows live in .github/workflows/:

  • buildNext.yml — runs on every push to develop, on a weekly schedule, and on manual dispatch. Builds and pushes all next-* variants in parallel via a matrix.
  • buildRelease.yml — manual dispatch from master only. Takes a semver release version as input. The locked Tomcat patch version is pinned in the workflow's build matrix (with the Dockerfile TOMCAT_VERSION ARG default kept in sync for local builds). Builds and pushes the release-* variants with both tags, then creates the corresponding git tag and GitHub release. To release with a newer Tomcat patch, bump the matrix entry (and the Dockerfile default) and update CHANGELOG.md in a normal PR before dispatching the workflow.

📫☎️🌎 info@xh.io | https://xh.io/contact

Copyright © 2026 Extremely Heavy Industries Inc.

About

🐳 Base docker image for Hoist app Tomcat containers.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors