Fossil Add-Ons

All Files in container/

Files in directory /container in any check-in

This is a variant of the upstream container build system with a few key differences:

  1. It builds the container with the “fossil” user as ID 1000 to integrate the bind mounts with directories owned by my web host’s primary user.

  2. It can optionally tag everything and push it up to Docker Hub, which I use to update my fossil images.

  3. It wraps the stock Fossil container build processes to automate as much as possible, reducing common tasks to single short commands such as “make push”.

We do all of these overrides in our custom Makefile, which reuses the upstream Dockerfile as-is to avoid forking its development. This is possible despite the differences listed above because we carefully crafted that Dockerfile to allow extensions and overrides, allowing us to use them in “leaf” projects like this one.

In the same manner, you can take this project’s build system and get broader custom effects. For example, if you wanted the JSON API enabled in your local container builds, rather than start over from scratch, you could simply say:

$ make DBFLAGS='--build-arg FSLCFG=--json'