A free and open source personal finance manager
This is the repository that holds the "base" images for Firefly III and the Firefly III Data Importer. Both tools need this base image to run correctly. The Dockerfiles for this base image is stored and built on GitHub.
There are two variants of the base image, and they both come in two labels. You can find the images on Docker Hub or by pulling fireflyiii/base
.
The web version of the base image is built from serversideup/php:8.4-fpm-nginx
. In Dockerfile-web.original you can see that the base image adds some scripts and installs some PHP extensions.
It is labeled as either latest
or develop
, with the latter being a test- and development version of the image (it may be unstable).
The CLI version of the base image is built from serversideup/php:8.4-cli
. In Dockerfile-cli.original you can see a similar process as the web version. Scripts are added and PHP extensions are installed.
It is labeled as either latest-cli
or develop-cli
, with the latter being a test- and development version of the image (it may be unstable).
Dockerfile-cli.original
and Dockerfile-web.original
are converted into Dockerfile.cli
and Dockerfile.web
respectively. This is not just because these are two different images, but also because the Dockerfile contains labels which are updated dynamically before each run. You can see the text %BASE_IMAGE_BUILD_NO%
in the original files, which is replaced with the actual build number in the resulting Dockerfile. You can see how this is done in generate-docker-files.php.
Adding the build number to the build this way helps me debug issues. When Firefly III (or the data importer) starts, it reports both the build number of the base image as the build number of the container itself.
The CLI version of the Docker container is only used by the data importer. It will not start a web server (nor does it have the necessary code) and is used to import data over the command line.
The base image can be found on Docker Hub, or used by pulling fireflyiii/base:latest
. Keep in mind that the base image itself does nothing and will probably not even start: you will probably get an error about the script entrypoint.sh
missing, because that script is included by Firefly III or the Data Importer when those images are built. You can read more about those images on Azure DevOps: Firefly III on Azure DevOps and the Data Importer on Azure DevOps.
Do you want to contact me? You can email me at james@firefly-iii.org or get in touch through one of the following support channels:
- GitHub Discussions for questions and support
- Gitter.im for a good chat and a quick answer
- GitHub Issues for bugs and issues
- Mastodon for news and updates
If you like Firefly III and if it helps you save lots of money, why not send me a dime for every dollar saved! 🥳
OK that was a joke. If you feel Firefly III made your life better, please consider contributing as a sponsor. Please check out my Patreon and GitHub Sponsors page for more information. You can also buy me a ☕️ coffee at ko-fi.com. Thank you for your consideration.