diff --git a/.github/workflows/build-all.yml b/.github/workflows/build-all.yml index 2b841bf..5cd6a11 100644 --- a/.github/workflows/build-all.yml +++ b/.github/workflows/build-all.yml @@ -17,7 +17,7 @@ jobs: pull-requests: read outputs: repo_owner: ${{ steps.repo_owner.outputs.lowercase }} - os_matrix: "{\"os_version\":[\"debian11\",\"debian12\",\"ubuntu20\"]}" + os_matrix: "{\"os_version\":[\"debian11\",\"debian12\",\"ubuntu20\",\"ubuntu22\"]}" steps: - name: Check out the repo uses: actions/checkout@v4 diff --git a/README.md b/README.md index 63195c8..14ff466 100644 --- a/README.md +++ b/README.md @@ -15,12 +15,16 @@ See [here](run/) for instructions how to setup and run the indy node images from ## Images +We are providing indy node images tagged like`${INDY_NODE_VERSION}-${OS}-${CONTAINER_RELEASE_VERSION}`. E.g. `1.13.2-debian11-1.2.7` is a Debian 11 based image with indy-node version `1.13.2`. -Currently we are providing the following stable indy node images. The images are tagged like`${INDY_NODE_VERSION}-${OS}-${CONTAINER_RELEASE_VERSION}`. E.g. `1.13.2-debian11-1.2.7` is a Debian 11 based image with indy-node version `1.13.2`. +- [See here](https://github.com/hyperledger/indy-node-container/pkgs/container/indy-node-container%2Findy_node/versions?filters%5Bversion_type%5D=tagged) for all tagged versions -- [Debian 11 - Bullseye](https://github.com/hyperledger/indy-node-container/pkgs/container/indy-node-container%2Findy_node/320834582?tag=1.13.2-debian11-1.2) -- [Debian 12 - Bookworm](https://github.com/hyperledger/indy-node-container/pkgs/container/indy-node-container%2Findy_node/320834582?tag=1.13.2-debian12-1.2) -- [Ubuntu 20 - Focal](https://github.com/hyperledger/indy-node-container/pkgs/container/indy-node-container%2Findy_node/320834582?tag=1.13.2-ubuntu20-1.2) +We have stopped providing older indy-node versions, new releases are only build for indy 1.13.2. We currently build from the base images + +- [Debian 11 - Bullseye](./build/Dockerfile.debian11) +- [Debian 12 - Bookworm](./build/Dockerfile.debian12) +- [Ubuntu 20 - Focal](./build/Dockerfile.ubuntu20) +- [Ubuntu 22 - jammy](./build/Dockerfile.ubuntu22) See [here](run/) for instructions how to setup and run the images. @@ -68,7 +72,7 @@ Be excellent to each other! ## License -Copyright 2020-2022 by all parties listed in the [NOTICE](NOTICE) file +Copyright 2020-2025 by all parties listed in the [NOTICE](NOTICE) file Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/build/Dockerfile.debian11 b/build/Dockerfile.debian11 index 1e22510..b5f3e5c 100644 --- a/build/Dockerfile.debian11 +++ b/build/Dockerfile.debian11 @@ -6,6 +6,7 @@ FROM python:3.8-slim-bullseye +LABEL org.opencontainers.image.description="Debian 11 based image to run indy-node. See https://github.com/hyperledger/indy-node-container" ENV DEBIAN_FRONTEND=noninteractive diff --git a/build/Dockerfile.debian12 b/build/Dockerfile.debian12 index c043bda..0843afd 100644 --- a/build/Dockerfile.debian12 +++ b/build/Dockerfile.debian12 @@ -6,6 +6,7 @@ FROM python:3.8-slim-bookworm +LABEL org.opencontainers.image.description="Debian 12 based image to run indy-node. See https://github.com/hyperledger/indy-node-container" ENV DEBIAN_FRONTEND=noninteractive diff --git a/build/Dockerfile.ubuntu20 b/build/Dockerfile.ubuntu20 index 9ba83f1..62be05d 100644 --- a/build/Dockerfile.ubuntu20 +++ b/build/Dockerfile.ubuntu20 @@ -1,13 +1,16 @@ # This container is to run indy-node. # This file is part of https://github.com/hyperledger/indy-node-container . -# Copyright 2021-2022 by all people listed in https://github.com/hyperledger/indy-node-container/blob/main/NOTICE , see +# Copyright 2021-2025 by all people listed in https://github.com/hyperledger/indy-node-container/blob/main/NOTICE , see # https://github.com/hyperledger/indy-node-container/blob/main/LICENSE for the license information. -# -# author: Robin Klemens + FROM ubuntu:20.04 -RUN apt-get update -y && apt-get install -y \ +LABEL org.opencontainers.image.description="Ubuntu 20.04 based image to run indy-node. See https://github.com/hyperledger/indy-node-container" + +RUN apt-get update -y \ + && apt-get upgrade -y \ + && apt-get install -y \ apt-transport-https \ ca-certificates \ gnupg2 \ diff --git a/build/Dockerfile.ubuntu22 b/build/Dockerfile.ubuntu22 new file mode 100644 index 0000000..1d59b11 --- /dev/null +++ b/build/Dockerfile.ubuntu22 @@ -0,0 +1,102 @@ +# This container is to run indy-node. +# This file is part of https://github.com/hyperledger/indy-node-container . +# Copyright 2021-2025 by all people listed in https://github.com/hyperledger/indy-node-container/blob/main/NOTICE , see +# https://github.com/hyperledger/indy-node-container/blob/main/LICENSE for the license information. + + +FROM ubuntu:22.04 + +LABEL org.opencontainers.image.description="Ubuntu 22.04 based image to run indy-node. See https://github.com/hyperledger/indy-node-container" + +ARG PRESEED_TIMEZONE_AREA "tzdata tzdata/Areas select Europe" +ARG PRESEED_TIMEZONE "tzdata tzdata/Zones/Europe select Berlin" + + +ENV DEBIAN_FRONTEND=noninteractive +ENV DEBCONF_NONINTERACTIVE_SEEN=true +ENV PRESEED_TIMEZONE_AREA=${PRESEED_TIMEZONE_AREA} +ENV PRESEED_TIMEZONE=${PRESEED_TIMEZONE} + +RUN truncate -s0 /tmp/preseed.cfg; \ + echo "${PRESEED_TIMEZONE_AREA}" >> /tmp/preseed.cfg; \ + echo "${PRESEED_TIMEZONE}" >> /tmp/preseed.cfg; \ + debconf-set-selections /tmp/preseed.cfg \ + && rm -f /etc/timezone /etc/localtime + +RUN apt-get update \ + && apt-get upgrade -y \ + && apt-get install -y \ + tzdata \ + apt-transport-https \ + ca-certificates \ + gnupg2 \ + software-properties-common \ + wget \ + zip + + +# Dependencies for the (meta) dependency debs of indy-node +RUN apt-get update && \ + apt-get install -y \ + python3-wcwidth \ + python3-setuptools \ + python3-pytest \ + python3-pip \ + libgflags-dev \ + libsnappy-dev \ + zlib1g-dev \ + libbz2-dev \ + liblz4-dev + + +# Bionic-security for libssl1.0.0 (ursa dependency) +RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3B4FE6ACC0B21F32 \ + && echo "deb http://security.ubuntu.com/ubuntu bionic-security main" >> /etc/apt/sources.list + +# Sovrin for Ursa (plenum dependency) +RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys CE7709D068DB5E88 \ + && bash -c 'echo "deb https://repo.sovrin.org/deb bionic master" >> /etc/apt/sources.list' \ + && apt-get update \ + && apt-get install -y \ + ursa \ + libsodium23 \ + iptables \ + at + + +# official indy node + plenum release packages from github +RUN cd /tmp/\ + && for URL in https://github.com/hyperledger/indy-plenum/releases/download/v1.13.1/third-party-dependencies.zip \ + https://github.com/hyperledger/indy-plenum/releases/download/v1.13.1/plenum-deb.zip \ + https://github.com/hyperledger/indy-node/releases/download/v1.13.2/third-party-dependencies.zip \ + https://github.com/hyperledger/indy-node/releases/download/v1.13.2/indy_node-deb.zip \ + ; do \ + echo "downloading $URL" \ + && wget -nv $URL \ + && unzip *.zip \ + && dpkg -i artifacts/*/*.deb \ + && rm -rf /tmp/* \ + ; done + + +# install and use python 3.8 (plenum does not run on python 3.10) +RUN pip install six \ + && add-apt-repository ppa:deadsnakes/ppa \ + && apt-get install -y python3.8 \ + && rm /usr/bin/python3 \ + && ln -s /usr/bin/python3.8 /usr/bin/python3 + +ENV PYTHONPATH="/usr/local/lib/python3.8:/usr/local/lib/python3.8/dist-packages/:/usr/local/lib/python3.8/site-packages/:/usr/local/lib/python3.10/dist-packages/" + +# fix path to libursa +RUN ln -s /usr/lib/ursa/libursa.so /usr/lib/libursa.so + +WORKDIR /home/indy + +COPY init_and_run.sh ./ + +CMD ["./init_and_run.sh"] + +VOLUME ["/var/log/indy"] + +RUN apt-get clean -y && rm -rf /var/lib/apt/lists/* \ No newline at end of file