diff --git a/bitnami/minio/2021/debian-10/Dockerfile b/bitnami/minio/2021/debian-10/Dockerfile index 07b927a53ddd..defb56cf1953 100644 --- a/bitnami/minio/2021/debian-10/Dockerfile +++ b/bitnami/minio/2021/debian-10/Dockerfile @@ -10,7 +10,7 @@ COPY prebuildfs / # Install required system packages and dependencies RUN install_packages acl ca-certificates curl gzip jq procps tar RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "minio-client" "2020.12.18-0" --checksum 1fcab30e9493cb66ec0a75c6f4c290e6be6663dbe3cab6c41bfcb6c013069a6f -RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "minio" "2021.1.8-0" --checksum f35ab98e95450931287d6f845fdab367ed700e09341743891c0e56e2a42e13b1 +RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "minio" "2021.1.16-0" --checksum fdbe21f3c98e3062d13e940034c03073bbe3f9eef9a02750e4156dce3a1284b0 RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "gosu" "1.12.0-2" --checksum 4d858ac600c38af8de454c27b7f65c0074ec3069880cb16d259a6e40a46bbc50 RUN apt-get update && apt-get upgrade -y && \ rm -r /var/lib/apt/lists /var/cache/apt/archives @@ -19,7 +19,7 @@ RUN chmod g+rwX /opt/bitnami COPY rootfs / RUN /opt/bitnami/scripts/minio/postunpack.sh ENV BITNAMI_APP_NAME="minio" \ - BITNAMI_IMAGE_VERSION="2021.1.8-debian-10-r3" \ + BITNAMI_IMAGE_VERSION="2021.1.16-debian-10-r0" \ PATH="/opt/bitnami/minio-client/bin:/opt/bitnami/minio/bin:/opt/bitnami/common/bin:$PATH" VOLUME [ "/certs", "/data" ] diff --git a/bitnami/minio/2021/debian-10/prebuildfs/opt/bitnami/.bitnami_components.json b/bitnami/minio/2021/debian-10/prebuildfs/opt/bitnami/.bitnami_components.json index 53b2b8bf74e6..0496ad25286a 100644 --- a/bitnami/minio/2021/debian-10/prebuildfs/opt/bitnami/.bitnami_components.json +++ b/bitnami/minio/2021/debian-10/prebuildfs/opt/bitnami/.bitnami_components.json @@ -8,10 +8,10 @@ }, "minio": { "arch": "amd64", - "digest": "f35ab98e95450931287d6f845fdab367ed700e09341743891c0e56e2a42e13b1", + "digest": "fdbe21f3c98e3062d13e940034c03073bbe3f9eef9a02750e4156dce3a1284b0", "distro": "debian-10", "type": "NAMI", - "version": "2021.1.8-0" + "version": "2021.1.16-0" }, "minio-client": { "arch": "amd64", diff --git a/bitnami/minio/2021/debian-10/prebuildfs/opt/bitnami/scripts/libos.sh b/bitnami/minio/2021/debian-10/prebuildfs/opt/bitnami/scripts/libos.sh index cc45a19ce099..6a7512281470 100644 --- a/bitnami/minio/2021/debian-10/prebuildfs/opt/bitnami/scripts/libos.sh +++ b/bitnami/minio/2021/debian-10/prebuildfs/opt/bitnami/scripts/libos.sh @@ -6,6 +6,7 @@ # Load Generic Libraries . /opt/bitnami/scripts/liblog.sh +. /opt/bitnami/scripts/libfs.sh # Functions @@ -37,14 +38,34 @@ group_exists() { # Create a group in the system if it does not exist already # Arguments: # $1 - group +# Flags: +# -s|--system - Whether to create new user as system user (uid <= 999) # Returns: # None ######################### ensure_group_exists() { local group="${1:?group is missing}" + local is_system_user=false + + # Validate arguments + shift 1 + while [ "$#" -gt 0 ]; do + case "$1" in + -s|--system) + is_system_user=true + ;; + *) + echo "Invalid command line flag $1" >&2 + return 1 + ;; + esac + shift + done if ! group_exists "$group"; then - groupadd "$group" >/dev/null 2>&1 + local -a args=("$group") + $is_system_user && args+=("--system") + groupadd "${args[@]}" >/dev/null 2>&1 fi } @@ -52,21 +73,59 @@ ensure_group_exists() { # Create an user in the system if it does not exist already # Arguments: # $1 - user -# $2 - group +# Flags: +# -g|--group - the group the new user should belong to +# -h|--home - the home directory for the new user +# -s|--system - whether to create new user as system user (uid <= 999) # Returns: # None ######################### ensure_user_exists() { local user="${1:?user is missing}" - local group="${2:-}" + local group="" + local home="" + local is_system_user=false + + # Validate arguments + shift 1 + while [ "$#" -gt 0 ]; do + case "$1" in + -g|--group) + shift + group="${1:?missing group}" + ;; + -h|--home) + shift + home="${1:?missing home directory}" + ;; + -s|--system) + is_system_user=true + ;; + *) + echo "Invalid command line flag $1" >&2 + return 1 + ;; + esac + shift + done if ! user_exists "$user"; then - useradd "$user" >/dev/null 2>&1 + local -a user_args=("-N" "$user") + $is_system_user && user_args+=("--system") + useradd "${user_args[@]}" >/dev/null 2>&1 fi if [[ -n "$group" ]]; then - ensure_group_exists "$group" - usermod -a -G "$group" "$user" >/dev/null 2>&1 + local -a group_args=("$group") + $is_system_user && group_args+=("--system") + ensure_group_exists "${group_args[@]}" + usermod -g "$group" "$user" >/dev/null 2>&1 + fi + + if [[ -n "$home" ]]; then + mkdir -p "$home" + usermod -d "$home" "$user" >/dev/null 2>&1 + configure_permissions_ownership "$home" -d "775" -f "664" -u "$user" -g "$group" fi } diff --git a/bitnami/minio/README.md b/bitnami/minio/README.md index bff727830f58..e15edd23fb06 100644 --- a/bitnami/minio/README.md +++ b/bitnami/minio/README.md @@ -43,8 +43,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`2021`, `2021-debian-10`, `2021.1.16`, `2021.1.16-debian-10-r-1` (2021/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-minio/blob/2021.1.16-debian-10-r-1/2021/debian-10/Dockerfile) -* [`2020`, `2020-debian-10`, `2020.12.29`, `2020.12.29-debian-10-r17`, `latest` (2020/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-minio/blob/2020.12.29-debian-10-r17/2020/debian-10/Dockerfile) +* [`2021`, `2021-debian-10`, `2021.1.16`, `2021.1.16-debian-10-r0` (2021/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-minio/blob/2021.1.16-debian-10-r0/2021/debian-10/Dockerfile) Subscribe to project updates by watching the [bitnami/minio GitHub repo](https://github.com/bitnami/bitnami-docker-minio). @@ -65,7 +64,7 @@ $ docker pull bitnami/minio:[TAG] If you wish, you can also build the image yourself. ```console -$ docker build -t bitnami/minio:latest 'https://github.com/bitnami/bitnami-docker-minio.git#master:2020/debian-10' + ``` ## Persisting your database diff --git a/bitnami/minio/docker-compose-distributed.yml b/bitnami/minio/docker-compose-distributed.yml index 76b17e6625ad..8fedb58c603e 100644 --- a/bitnami/minio/docker-compose-distributed.yml +++ b/bitnami/minio/docker-compose-distributed.yml @@ -2,7 +2,7 @@ version: '2' services: minio: - image: 'docker.io/bitnami/minio:2020-debian-10' + image: 'docker.io/bitnami/minio:2021-debian-10' ports: - 9000:9000 volumes: @@ -13,7 +13,7 @@ services: - MINIO_DISTRIBUTED_MODE_ENABLED=yes - MINIO_DISTRIBUTED_NODES=minio,minio2,minio3,minio4 minio2: - image: 'docker.io/bitnami/minio:2020-debian-10' + image: 'docker.io/bitnami/minio:2021-debian-10' volumes: - 'minio_2_data:/data' environment: @@ -22,7 +22,7 @@ services: - MINIO_DISTRIBUTED_MODE_ENABLED=yes - MINIO_DISTRIBUTED_NODES=minio,minio2,minio3,minio4 minio3: - image: 'docker.io/bitnami/minio:2020-debian-10' + image: 'docker.io/bitnami/minio:2021-debian-10' volumes: - 'minio_3_data:/data' environment: @@ -31,7 +31,7 @@ services: - MINIO_DISTRIBUTED_MODE_ENABLED=yes - MINIO_DISTRIBUTED_NODES=minio,minio2,minio3,minio4 minio4: - image: 'docker.io/bitnami/minio:2020-debian-10' + image: 'docker.io/bitnami/minio:2021-debian-10' volumes: - 'minio_4_data:/data' environment: diff --git a/bitnami/minio/docker-compose.yml b/bitnami/minio/docker-compose.yml index dec9ae16b411..420c9b9fd16a 100644 --- a/bitnami/minio/docker-compose.yml +++ b/bitnami/minio/docker-compose.yml @@ -2,7 +2,7 @@ version: '2' services: minio: - image: 'docker.io/bitnami/minio:2020-debian-10' + image: 'docker.io/bitnami/minio:2021-debian-10' ports: - '9000:9000' volumes: