6 Commits

Author SHA1 Message Date
f37e2662f6 client: Dockerfiles: local: dev-tools: bind-mount .gitea
Will allow linter to access files in the .gitea directory.
2026-01-28 11:36:49 -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
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
6704b3ec21 client: Dockerfiles: local: finance: remove coinbase-pro 2025-01-04 01:16:05 -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