# docker-finance | modern accounting for the power-user # # Copyright (C) 2021-2024,2026 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 # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . FROM ubuntu:rolling RUN apt-get update -y # Add builder user (for `composer` and non-root building) RUN useradd -m -s /bin/bash -r builder # Enable man page support RUN apt-get install man unminimize -y RUN yes | unminimize # # 'dev-tools' linters # # Bash RUN apt-get install -y shfmt shellcheck # C++ RUN apt-get install -y clang-format cppcheck cpplint # PHP RUN apt-get install -y composer USER builder WORKDIR /usr/local/lib/php RUN composer require -n --dev friendsofphp/php-cs-fixer RUN composer require -n --dev phpstan/phpstan USER root RUN echo "export PATH=\"\$PATH:/usr/local/lib/php/vendor/bin\"" >>/etc/bash.bashrc # # 'finance' dependencies (`fetch` APIs) # RUN apt-get install -y php php-bcmath php-curl php-gmp USER builder WORKDIR /usr/local/lib/php RUN composer require -n ozdemirburak/json-csv RUN composer require -n ccxt/ccxt # "Sunsetted" Coinbase Pro RUN composer require -n mocking-magician/coinbase-pro-sdk # # 'dev-tools' misc. # USER root # Doxygen RUN apt-get install -y doxygen graphviz # docker-finance `version` command RUN apt-get install -y yq # # Entrypoint # COPY ./entrypoint.bash /entrypoint.bash RUN chmod a+rx /entrypoint.bash ENTRYPOINT ["/entrypoint.bash"] # vim: sw=2 sts=2 si ai et