Commit Graph

58 Commits

Author SHA1 Message Date
a3e03880bc client: Dockerfiles: remote: hledger-suite: bump hledger to 1.51.2 2026-01-08 10:25:49 -08:00
4debfda786 client: Dockerfiles: remote: root: bump to 6.38.00-3 2026-01-06 10:52:05 -08:00
550de73651 client: Dockerfiles: remote: hledger-suite: bump hledger-flow to v0.16.2 2026-01-06 10:52:05 -08:00
bbf4e0e439 client: Dockerfiles: remote: root: bump to 6.38.00-2 2025-12-18 15:04:47 -08:00
c7fcebfe0b client: Dockerfiles: remote: root: update multi-stage
Parses out build stage into separate build target.
2025-12-10 12:43:53 -08:00
f669c01f97 client: Dockerfiles: remote: hledger-suite: use multi-stage
The previous hledger-suite image was treated as a monolithic development
image that was never intended to be pulled from directly, at least
outside of the `dfi` build system.

hledger-suite has now been parsed out into separate build targets for
faster maintenance and development, with the final production image
being a massively slimmer "placeholder" image for the built binaries.

`hledger-suite:latest` can now be pulled from directly without pulling
the entire build system and related artifacts.
2025-12-10 11:56:43 -08:00
a88dbf5704 client: Dockerfiles: remote: hledger-suite: bump hledger to 1.51.1 2025-12-10 09:35:24 -08:00
5e45f307ad client: Dockerfiles: local: root: package updates
- Prevents system upgrades from using Arch's `root` package
  * Currently, their package does not build with C++20 support

- Updates remote image package artifact location
  * Remote image's build artifact moved from /home/builder to /root

- Uses wildcard for local `root` package version
  * Reduces maintenance since any remote bump should rebuild this module
2025-12-01 14:59:11 -08:00
70be50b0d4 client: Dockerfiles: remote: root: use multi-stage
A single development stage ended up not being needed.

NOTE: `dfi` will still only pull the package artifact from the final image.
2025-12-01 14:58:58 -08:00
8816d5fd17 client: Dockerfiles: remote: root: bump to 6.38.00 2025-12-01 09:24:30 -08:00
31cc320298 client: Dockerfiles: remote: hledger-suite: bump hledger to 1.50.3 2025-11-18 19:13:44 -08:00
8bd51fed65 client: Dockerfiles: remote: root: add PACKAGER to makepkg
When querying with pacman, provides clearer information instead of
"Unknown Packager".
2025-11-13 14:07:53 -08:00
cf3eccd52b client: Dockerfiles: remote: root: remove more GUI opts
These are currently not needed. Improves build time and package size.
2025-11-13 13:52:13 -08:00
8b59cee84c client/container: root: migrate to Botan3
- This is possible now that `dfi`'s ROOT build supports C++20
- No internal `dfi` API or impl changes are necessary
  * This includes any Botan signatures
2025-11-07 13:13:53 -08:00
78ee492c46 client: Dockerfiles: local: root: use evergreencrypto/root image
- Provides C++20 support and a slimmer package (~18% smaller)
- Required for issue #23 (bitcoin-core lib support)
2025-11-06 16:22:40 -08:00
7b67bcf115 client: Dockerfiles: remote: root: add evergreencrypto/root image
Provides C++20 support and a slimmer package (~18% smaller).
2025-11-06 16:22:40 -08:00
5e02aa4825 client: migrate from xsv to xan
`xsv` is no longer maintained and the author recommends `xan` instead.

Fortunately, `xan` is very suitable for our use-case; is very efficient,
and produces no differences in our expected output.
2025-10-03 14:09:34 -07:00
1dafa487ad client: Dockerfiles: remote: hledger-suite: bump hledger to 1.50.2 2025-09-29 11:45:02 -07:00
f28a148f5c client: Dockerfiles: remote: hledger-suite: bump hledger to 1.50.1
Also update build process for a successful build and better caching.
2025-09-18 20:52:45 -07:00
6c1b7a0fb1 client: Dockerfiles: remote: hledger-suite: bump hledger-iadd to v1.3.22
Also update build process for a successful build and better caching.

Despite recent releases, hledger-iadd's stack configuration is not
regularly maintained (very out of date). The install documentation is
also very out of date. The maintainer appears to be using cabal for
building.
2025-09-18 20:50:43 -07:00
4c0474ea9f client: Dockerfiles: remote: hledger-suite: bump hledger-flow to v0.16.0
Also update build process for a successful build and better caching.
2025-09-18 20:50:00 -07:00
cc0ec7a112 client: Dockerfiles: remote: hledger-suite: use hledger-flow master tip
As discussed in #216, hledger-flow breaks with the latest hledger
release (1.50).

Until hledger-flow has another release, current master tip appears to be
as stable as v0.15.0 and includes fixes that work with hledger 1.50.
2025-09-05 16:36:50 -07:00
a7289bde16 client: Dockerfiles: remote: hledger-suite: bump hledger to 1.50 2025-09-04 15:14:54 -07:00
5baf3359e6 client: Dockerfiles: remote: hledger-suite: bump hledger to 1.43.2 2025-06-16 16:10:07 -07:00
8a969c9877 client: Dockerfiles: remote: hledger-suite: bump hledger to 1.43.1 2025-06-05 18:35:16 -07:00
0cb63afe60 client: Dockerfiles: remote: hledger-suite: bump hledger to 1.43 2025-06-03 19:12:36 -07:00
ed76b516c4 client: Dockerfiles: remote: hledger-suite: bump hledger to 1.42.2 2025-05-27 13:10:50 -07:00
202601b2cf client: Dockerfiles: remote: hledger-suite: bump hledger to 1.42.1 2025-03-14 18:43:45 -07:00
5fbf811bda client: Dockerfiles: remote: hledger-suite: bump hledger to 1.42
Also update resolver for a successful build.
2025-03-07 20:04:35 -08:00
6704b3ec21 client: Dockerfiles: local: finance: remove coinbase-pro 2025-01-04 01:16:05 -08:00
83f5355dc3 client: Dockerfiles: remote: hledger-suite: update hledger-iadd resolver
Uses older resolver (should be appropriate to v1.3.21).

Fixes build breakage.
2024-12-12 19:58:40 -08:00
d0a9384648 client: Dockerfiles: remote: hledger-suite: bump hledger to 1.41 2024-12-12 00:23:53 -08:00
dc4990ab90 client: docker: complete build overhaul, optimize
This commit brings a complete overhaul of the build system:

- Creates a separation of concerns for 'local' and 'remote' building
  * 'local' is built locally via the docker-finance `build` command
  * 'remote' is built *outside* of the docker-finance `build` command
    (pushed to a remote registry and then pulled by the 'local' build)
  * Related refactoring
    - Dockerfiles
    - `lib_gen`

- Adds remote image 'hledger-suite'
  * Provides the latest versions of all `hledger` related binaries
  * No longer relies on package maintainers / out-dated packages

- Adds remote image 'docker-finance'
  * Provides base image for 'finance' and 'dev-tools' images
    - tags 'archlinux' | 'ubuntu' | 'dev-tools'

- Removes previous `hledger` related build modules
  * Removes building any `hledger` related binaries locally

- Removes 'experimental' build
  * End-user can use local custom Dockerfile and/or custom tag instead

- Updates the 'default' | 'slim' | 'tiny' | 'micro' build types
  * Refactors build type requirements into separate build modules
    - Adds 'fetch' module
    - Adds 'track' module
    - Adds 'user' module
      * creates container user *after* base and all other modules
      * allows for quick re-building across multiple local users
    - Updates 'root' module
  * `lib_docker`
    - Updates usage help
    - Adds build modules per build type

- Huge optimizations
  * Vastly improves build times
    - ~60% faster w/ a fresh build
    - ~60%-90% faster rebuild (depending on image type)
  * Vastly improves image sizes
    - e.g., 'default' Arch Linux image size is ~50% smaller
2024-09-17 20:06:33 -07:00
75ed30a05d client: Dockerfiles: dev-tools: add DOCKER_FINANCE_CLIENT_PLUGINS 2024-09-07 16:48:27 -07:00
a9e2976748 client: Dockerfiles: optimize by moving useradd
Adding the finance user as late as possible within the base Dockerfile
will allow for faster build times when rebuilding with different users
(the base layers won't need to be rebuilt).
2024-08-20 17:40:23 -07:00
3b01ce8cc7 client: Dockerfiles: remove pipx, replace with packaged csvkit 2024-08-19 15:57:54 -07:00
569db8a1e6 client: Dockerfiles: dev-tools: refactor to use yq
Replaces `shyaml` dependency with `yq`.
2024-08-17 23:19:57 -07:00
237a4c20ab client: Dockerfiles: remove shyaml package, add yq
- Replaces `shyaml` dependency with `yq`
  * Less dependency upon `pipx` (`csvcut` is next to go)
  * `yq` will be needed by a container plugin
2024-08-17 19:36:47 -07:00
59d11b47d3 client: Dockerfiles: add proxychains-ng package
Needed for Tor support (and any potential future proxy support).
2024-08-14 21:35:25 -07:00
bbb5d7c238 client: Dockerfiles: add plugins env to docker-compose 2024-08-12 18:36:26 -07:00
e50f4b62cb client: Dockerfiles: add timew package 2024-08-09 00:01:40 -07:00
646ca3af85 Dockerfiles: source container bash completion 2024-08-05 16:22:22 -07:00
9975d3471c client: remove ghc package requirement
Will be managed by `stack` via respective source builds.
2024-07-16 17:44:16 -07:00
b7900f1eef client: reorg/factoring for 'experimental' builds
- Dockerfiles: separation of concerns for build types
- Dockerfiles: pull from respective hledger-based branches/tags
- Dockerfiles: move hledger-based test building into experimental
- docker-finance.yaml: add commented package 'unuran' (experimental)
2024-07-16 17:44:16 -07:00
e58bc578cd client: Dockerfiles: ubuntu: fix botan dependency
- The library is needed, not the utility binary
- Fixes `root` loading errors about missing headers
2024-07-13 19:06:20 -07:00
4d3eef6067 client: new internal client versioning system
- Version is now determined on-the-fly from manifest file
- Internal versioning no longer depends on environment file
2024-07-13 03:01:06 -07:00
f2df54d3cc client: Dockerfiles: resolve apt CLI warning 2024-07-11 16:48:58 -07:00
c74a76bd0b client: Dockerfiles: add hledger source build 2024-07-09 22:56:03 -07:00
cb7991b187 client: Dockerfiles: ubuntu: 'USER root' to install
Fixup to #68
2024-06-28 18:38:33 -07:00
dffb3e5b14 client: Dockerfiles: ubuntu: add ROOT.cern support 2024-06-28 17:30:36 -07:00