diff --git a/client/Dockerfiles/remote/hledger-suite/Dockerfile b/client/Dockerfiles/remote/hledger-suite/Dockerfile index cf02d5a..be6fa55 100644 --- a/client/Dockerfiles/remote/hledger-suite/Dockerfile +++ b/client/Dockerfiles/remote/hledger-suite/Dockerfile @@ -15,7 +15,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -FROM haskell:9.12.2 +FROM haskell:9.12.2 AS haskell-build RUN apt-get update -y RUN apt-get upgrade -y @@ -24,6 +24,8 @@ RUN apt-get upgrade -y # hledger-flow # +FROM haskell-build AS hledger-flow + WORKDIR /usr/local/src RUN git clone --depth=1 https://github.com/apauley/hledger-flow -b v0.16.0 @@ -37,6 +39,8 @@ RUN stack install --local-bin-path=/usr/local/bin # hledger-iadd # +FROM hledger-flow AS hledger-iadd + WORKDIR /usr/local/src RUN git clone --depth=1 https://github.com/hpdeifel/hledger-iadd -b v1.3.22 @@ -51,6 +55,8 @@ RUN cabal v1-copy # hledger / hledger-ui / hledger-web # +FROM hledger-iadd AS hledger + WORKDIR /usr/local/src RUN git clone --depth=1 https://github.com/simonmichael/hledger -b 1.51.1 @@ -59,4 +65,12 @@ RUN stack setup RUN stack install --stack-yaml=stack.yaml --dependencies-only RUN stack install --stack-yaml=stack.yaml --local-bin-path=/usr/local/bin +# +# Production stage +# + +FROM debian:stable-slim AS hledger-suite + +COPY --from=hledger /usr/local/bin/hledger* /usr/local/bin/ + # vim: sw=2 sts=2 si ai et diff --git a/client/Dockerfiles/remote/hledger-suite/docker-compose.yml b/client/Dockerfiles/remote/hledger-suite/docker-compose.yml index c208fb9..450f71f 100644 --- a/client/Dockerfiles/remote/hledger-suite/docker-compose.yml +++ b/client/Dockerfiles/remote/hledger-suite/docker-compose.yml @@ -1,6 +1,6 @@ # docker-finance | modern accounting for the power-user # -# Copyright (C) 2024 Aaron Fiore (Founder, Evergreen Crypto LLC) +# Copyright (C) 2024-2025 Aaron Fiore (Founder, Evergreen Crypto LLC) # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -19,6 +19,29 @@ services: hledger-suite: image: evergreencrypto/hledger-suite:latest container_name: evergreencrypto_hledger-suite - build: . + build: + context: . + target: hledger-suite + + hledger: + image: evergreencrypto/hledger:build + container_name: evergreencrypto_hledger + build: + context: . + target: hledger + + hledger-iadd: + image: evergreencrypto/hledger-iadd:build + container_name: evergreencrypto_hledger-iadd + build: + context: . + target: hledger-iadd + + hledger-flow: + image: evergreencrypto/hledger-flow:build + container_name: evergreencrypto_hledger-flow + build: + context: . + target: hledger-flow # vim: sw=2 sts=2 si ai et