kresus-fork (sha256:1746f2cde6c132c9aeae67a2d85dad479f433c70172e9989b1cf33f84a4ffdf1)

Published 2026-09-17 00:47:09 +00:00 by aviallon

Installation

docker pull gitea.lesviallon.fr/aviallon/kresus-fork@sha256:1746f2cde6c132c9aeae67a2d85dad479f433c70172e9989b1cf33f84a4ffdf1
sha256:1746f2cde6c132c9aeae67a2d85dad479f433c70172e9989b1cf33f84a4ffdf1

Image layers

# debian.sh --arch 'amd64' out/ 'bookworm' '@1783900800'
RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates curl gnupg netbase sq wget ; rm -rf /var/lib/apt/lists/* # buildkit
RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends git mercurial openssh-client subversion procps ; rm -rf /var/lib/apt/lists/* # buildkit
RUN /bin/sh -c set -ex; apt-get update; apt-get install -y --no-install-recommends autoconf automake bzip2 default-libmysqlclient-dev dpkg-dev file g++ gcc imagemagick libbz2-dev libc6-dev libcurl4-openssl-dev libdb-dev libevent-dev libffi-dev libgdbm-dev libglib2.0-dev libgmp-dev libjpeg-dev libkrb5-dev liblzma-dev libmagickcore-dev libmagickwand-dev libmaxminddb-dev libncurses5-dev libncursesw5-dev libpng-dev libpq-dev libreadline-dev libsqlite3-dev libssl-dev libtool libwebp-dev libxml2-dev libxslt-dev libyaml-dev make patch unzip xz-utils zlib1g-dev ; rm -rf /var/lib/apt/lists/* # buildkit
RUN /bin/sh -c groupadd --gid 1000 node && useradd --uid 1000 --gid node --shell /bin/bash --create-home node # buildkit
ENV NODE_VERSION=24.18.0
RUN /bin/sh -c ARCH= && dpkgArch="$(dpkg --print-architecture)" && case "${dpkgArch##*-}" in amd64) ARCH='x64';; ppc64el) ARCH='ppc64le';; s390x) ARCH='s390x';; arm64) ARCH='arm64';; armhf) ARCH='armv7l';; *) echo "unsupported architecture"; exit 1 ;; esac && export GNUPGHOME="$(mktemp -d)" && set -ex && for key in 5BE8A3F6C8A5C01D106C0AD820B1A390B168D356 DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 CC68F5A3106FF448322E48ED27F5E38D5B0A215F 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C 108F52B48DB57BB0CC439B2997B01419BD92F80A A363A499291CBBC940DD62E41F10027AF002F8B0 ; do { gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || { gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ; done && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz" && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc && gpgconf --kill all && rm -rf "$GNUPGHOME" && grep " node-v$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - && tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner && rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt && ln -s /usr/local/bin/node /usr/local/bin/nodejs && node --version && npm --version && rm -rf /tmp/* # buildkit
ENV YARN_VERSION=1.22.22
RUN /bin/sh -c set -ex && export GNUPGHOME="$(mktemp -d)" && for key in 6A010C5166006599AA17F08146C2130DFD2497F5 ; do { gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || { gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ; done && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" && gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && gpgconf --kill all && rm -rf "$GNUPGHOME" && mkdir -p /opt && tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ && ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn && ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg && rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && yarn --version && rm -rf /tmp/* # buildkit
COPY docker-entrypoint.sh /usr/local/bin/ # buildkit
ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["node"]
LABEL maintainer=Benjamin Bouvier <benjamin@bouvier.cc>
/bin/sh -c apt-get update && apt-get install -y python3 python3-dev python3-pip python3-jose locales git libffi-dev libxml2-dev libxslt-dev libyaml-dev libtiff-dev libjpeg-dev libopenjp2-7-dev zlib1g-dev libfreetype6-dev libwebp-dev build-essential gcc g++ wget unzip mupdf-tools && rm -rf /var/lib/apt/lists/;
COPY file:be7b9d3f3cd13190b905dfd594e83f5241d7dd64fd5742581813d04a9aa5cc28 in /opt/config.ini
COPY file:b7bffaaf1ba656418b4e6abd4157e9103668fd54c7b78bb924832b6ae157a5ff in /entrypoint.sh
/bin/sh -c locale-gen C.UTF-8 && update-locale C.UTF-8 && update-alternatives --install /usr/bin/python python $(which python3) 1 && useradd -d /home/user -m -s /bin/bash -U user && mkdir -p /home/user/data && chmod -x /opt/config.ini && chmod +x /entrypoint.sh;
/bin/sh -c curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile=minimal
ENV PATH=/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
/bin/sh -c pip install --break-system-packages --upgrade setuptools && pip install --break-system-packages "selenium<4.1.4" && pip install --break-system-packages simplejson BeautifulSoup4 PyExecJS typing-extensions pdfminer.six Pillow pycountry Crypto jwt xlrd chompjs schwifty deprecated;
/bin/sh -c yarn global add node-gyp
/bin/sh -c yarn global add kresus --prefix /home/user/app --production;
ENV LC_ALL=C.UTF-8
ENV LANG=C.UTF-8
ENV HOST=0.0.0.0
ENV KRESUS_DIR=/home/user/data
ENV NODE_ENV=production
ENV KRESUS_PYTHON_EXEC=python3
VOLUME [/home/user/data]
EXPOSE 9876
ENTRYPOINT ["/entrypoint.sh"]
CMD ["/home/user/app/bin/kresus --config /opt/config.ini"]
ARG WOOB_REPO=ssh://git@ssh.gitea.lesviallon.fr/aviallon/woob.git
ARG WOOB_BRANCH=feat/boursobank-qrcode-sca
ARG WOOB_COMMIT=1fe7701bcd41d4eba2d5b520fbe474a3d12271bb
COPY kresus-fork/entrypoint.sh /entrypoint.sh # buildkit
COPY kresus-fork/sources.list /opt/kresus-woob-sources.list # buildkit
RUN |3 WOOB_REPO=ssh://git@ssh.gitea.lesviallon.fr/aviallon/woob.git WOOB_BRANCH=feat/boursobank-qrcode-sca WOOB_COMMIT=1fe7701bcd41d4eba2d5b520fbe474a3d12271bb /bin/sh -c set -eux; test "${WOOB_COMMIT}" != "0000000000000000000000000000000000000000" || { echo "kresus-fork: WOOB_COMMIT is still the placeholder; push the fork branch and pass --build-arg WOOB_COMMIT=<full-sha>" >&2; exit 1; }; export GIT_SSH_COMMAND="ssh -o BatchMode=yes -o StrictHostKeyChecking=accept-new -o UserKnownHostsFile=/tmp/known_hosts -o LogLevel=ERROR"; git clone --single-branch --branch "${WOOB_BRANCH}" "${WOOB_REPO}" /opt/woob; cd /opt/woob; git checkout --detach "${WOOB_COMMIT}"; test "$(git rev-parse HEAD)" = "${WOOB_COMMIT}"; pip install --break-system-packages --no-cache-dir .; mkdir -p /opt/kresus-woob-modules; cp -a /opt/woob/modules/boursorama /opt/kresus-woob-modules/boursorama; rm -rf /opt/kresus-woob-modules/boursorama/__pycache__ /opt/kresus-woob-modules/boursorama/test.py; test -f /opt/kresus-woob-modules/boursorama/__init__.py; rm -rf /opt/woob/modules /opt/woob/.git; chmod -R a+rwX /opt/kresus-woob-modules # buildkit
RUN |3 WOOB_REPO=ssh://git@ssh.gitea.lesviallon.fr/aviallon/woob.git WOOB_BRANCH=feat/boursobank-qrcode-sca WOOB_COMMIT=1fe7701bcd41d4eba2d5b520fbe474a3d12271bb /bin/sh -c set -eux; python3 -c "import sys; sys.path.insert(0, '/opt/woob'); import woob; print('woob ->', woob.__file__); assert woob.__file__.startswith('/opt/woob/'), woob.__file__" # buildkit
RUN |3 WOOB_REPO=ssh://git@ssh.gitea.lesviallon.fr/aviallon/woob.git WOOB_BRANCH=feat/boursobank-qrcode-sca WOOB_COMMIT=1fe7701bcd41d4eba2d5b520fbe474a3d12271bb /bin/sh -c set -eux; chmod +x /entrypoint.sh; grep -q 'FORK-AWARE-ENTRYPOINT' /entrypoint.sh; ! grep -Eq '^[[:space:]]*(pip[[:space:]]+install.*-U[[:space:]]+woob|yarn[[:space:]]+global[[:space:]]+upgrade[[:space:]]+kresus)' /entrypoint.sh # buildkit
RUN |3 WOOB_REPO=ssh://git@ssh.gitea.lesviallon.fr/aviallon/woob.git WOOB_BRANCH=feat/boursobank-qrcode-sca WOOB_COMMIT=1fe7701bcd41d4eba2d5b520fbe474a3d12271bb /bin/sh -c rm -rf /home/user/app # buildkit
COPY /tmp/kresus-src /home/user/app # buildkit
RUN |3 WOOB_REPO=ssh://git@ssh.gitea.lesviallon.fr/aviallon/woob.git WOOB_BRANCH=feat/boursobank-qrcode-sca WOOB_COMMIT=1fe7701bcd41d4eba2d5b520fbe474a3d12271bb /bin/sh -c chmod +x /home/user/app/bin/kresus.js # buildkit
ENV KRESUS_WOOB_DIR=/opt/woob KRESUS_WOOB_SOURCES_LIST=/opt/kresus-woob-sources.list
CMD ["/home/user/app/bin/kresus.js --config /opt/config.ini"]

Labels

Key Value
maintainer Benjamin Bouvier <benjamin@bouvier.cc>
Details
Container
2026-09-17 00:47:09 +00:00
5
OCI / Docker
linux/amd64
824 MiB
Versions (3) View all