Add Docker Compose support and upgrade ExifTool to 13.50#419
Open
guinslym wants to merge 4 commits intoharvard-lts:mainfrom
Open
Add Docker Compose support and upgrade ExifTool to 13.50#419guinslym wants to merge 4 commits intoharvard-lts:mainfrom
guinslym wants to merge 4 commits intoharvard-lts:mainfrom
Conversation
- Add docker-compose.yml with fits and test services - Add docker/Dockerfile-compose: multi-stage build (Maven build + runtime image) - Add .dockerignore to keep build context lean - Add work/sample_exif_wikimedia_ant.jpg as a ready-to-go test file - Update README: replace docker run instructions with docker compose equivalents, add ready-to-go example using the sample image - Upgrade ExifTool from 13.36 to 13.50 - Fix missing newline at end of docs_readme.md
pwinckles
reviewed
Feb 18, 2026
- Restore original Docker installation section in README and add a separate Docker Compose section, so release-artifact users are not required to clone the repo or use the work/ directory - Replace sed-based platform hack in Dockerfile-compose with a proper fits.install.platforms property in ToolInstaller.java and tool-installer-pom.xml; pass -Dfits.install.platforms=linux at build time instead of mutating source files - Add work/ to .gitignore since Docker Compose auto-creates it at runtime; remove committed work/ files
pwinckles
reviewed
Feb 18, 2026
Add platform checks around Linux-specific installs in installExiftool(), installMediaInfo(), and installJpylyzer() so that the linux value in fits.install.platforms actually gates those installs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Docker Compose Integration for FITS
Summary
This PR introduces Docker Compose as the primary way to build and run FITS, replacing the previous
docker build/docker runworkflow.It also:
Changes
docker-compose.yml
Defines two services:
fits— run FITS on filestest— run the Maven test suite in a containerdocker/Dockerfile-compose
Multi-stage Dockerfile:
.dockerignore
Excludes
.git,target/, andwork/from the Docker build context to keep image builds fastwork/sample_exif_wikimedia_ant.jpg
Sample image committed to the repo so users can run FITS immediately after cloning without needing their own file
README.md
Docker Installation section rewritten to use:
docker compose builddocker compose runIncludes a ready-to-go example command using the sample image
tools.properties
ExifTool upgraded from
13.36→13.50(production release)docs_readme.md
Fix missing newline at end of file
How to Test
git clone https://github.com/harvard-lts/fits.git cd fits docker compose build fits docker compose run --rm fits -i /work/sample_exif_wikimedia_ant.jpg