diff --git a/.github/workflows/Docker-images.yml b/.github/workflows/Docker-images.yml index 718689e..8e59971 100644 --- a/.github/workflows/Docker-images.yml +++ b/.github/workflows/Docker-images.yml @@ -41,6 +41,32 @@ jobs: secrets: DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} + + build_ubi9_node20_image: + needs: [ tags, build_ubi9_image ] + uses: ./.github/workflows/Docker.yml + with: + image_name: "axaguildev/build-ubi9-node20" + image_version: "${{ needs.tags.outputs.new_version }}" + image_build_args: "baseImage=axaguildev/build-ubi9:${{ needs.tags.outputs.new_version }}" + image_context: ./ubi + image_file: "./build/node20/Dockerfile.ubi9" + secrets: + DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} + + runtime_ubi9_nginx_image: + needs: tags + uses: ./.github/workflows/Docker.yml + with: + image_name: "axaguildev/runtime-ubi9-nginx" + image_version: "${{ needs.tags.outputs.new_version }}" + image_build_args: "baseImage=axaguildev/runtime-ubi9:${{ needs.tags.outputs.new_version }}" + image_context: ./ubi + image_file: "./runtime/nginx/Dockerfile.ubi9" + secrets: + DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} runtime_ubi9_image: needs: tags @@ -56,7 +82,7 @@ jobs: DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} build_ubi9_python311_image: - needs: [ tags,build_ubi9_image ] + needs: [ tags, build_ubi9_image ] uses: ./.github/workflows/Docker.yml with: image_name: "axaguildev/build-ubi9-python3.11" diff --git a/README.md b/README.md index 769d8c3..78f4974 100644 --- a/README.md +++ b/README.md @@ -24,3 +24,7 @@ Create docker image base : - UBI9 build python 3.11 [![Docker UBI 9 build Python 3.11](https://img.shields.io/docker/pulls/axaguildev/build-ubi9-python3.11.svg)](https://hub.docker.com/r/axaguildev/build-ubi9-python3.11) - UBI9 runtime python 3.11 [![Docker UBI 9 runtime Python 3.11](https://img.shields.io/docker/pulls/axaguildev/runtime-ubi9-python3.11.svg)](https://hub.docker.com/r/axaguildev/runtime-ubi9-python3.11) - UBI9 build python 3.11 with tesseract [![Docker UBI 9 Python 3.1 tesseract](https://img.shields.io/docker/pulls/axaguildev/build-ubi9-python3.11-tesseract.svg)](https://hub.docker.com/r/axaguildev/build-ubi9-python3.11-tesseract) + + +- UBI9 build node20 [![Docker UBI 9 build node 20](https://img.shields.io/docker/pulls/axaguildev/build-ubi9-node20.svg)](https://hub.docker.com/r/axaguildev/build-ubi9-node20) +- UBI9 runtime nginx [![Docker UBI 9 runtime nginx](https://img.shields.io/docker/pulls/axaguildev/runtime-ubi9-nginx.svg)](https://hub.docker.com/r/axaguildev/runtime-ubi9-nginx) \ No newline at end of file diff --git a/build/node20/Dockerfile.ubi9 b/build/node20/Dockerfile.ubi9 new file mode 100644 index 0000000..76e0b9a --- /dev/null +++ b/build/node20/Dockerfile.ubi9 @@ -0,0 +1,20 @@ +ARG baseImage +FROM ${baseImage} + +USER root + +RUN dnf -y module enable nodejs:20 && \ + INSTALL_PKGS="nodejs" && \ + dnf -y --setopt=tsflags=nodocs install $INSTALL_PKGS && \ + dnf -y clean all --enablerepo='*' + +# - In order to drop the root user, we have to make some directories world +# writable as OpenShift default security model is to run the container +# under random UID. +RUN chown -R ${USER}:0 ${APP_ROOT} && \ + chmod +x /usr/bin/fix-permissions && \ + fix-permissions ${APP_ROOT} -P && \ + rpm-file-permissions + + +USER ${USER} diff --git a/runtime/nginx/Dockerfile.ubi9 b/runtime/nginx/Dockerfile.ubi9 new file mode 100644 index 0000000..136c17f --- /dev/null +++ b/runtime/nginx/Dockerfile.ubi9 @@ -0,0 +1,22 @@ +ARG baseImage +ARG dynatrace + +FROM ${baseImage} + +RUN microdnf install nginx -y && \ + sed -i '/^user/d' /etc/nginx/nginx.conf && \ + sed -i 's/listen 80;/listen 8080;/g' /etc/nginx/nginx.conf && \ + sed -i 's/listen \[::\]:80;/listen \[::\]:8080;/g' /etc/nginx/nginx.conf && \ + sed -i 's/root \/usr\/share\/nginx\/html;/root \/opt\/app-root\/html;/g' /etc/nginx/nginx.conf && \ + mkdir /opt/app-root/html && \ + cp -Lr /usr/share/nginx/html/* /opt/app-root/html/ && \ + chmod 755 /var/log/nginx && \ + chmod -R 775 /var/lib/nginx && \ + ln -s /dev/stdout /var/log/nginx/access.log && \ + ln -s /dev/stderr /var/log/nginx/error.log + +EXPOSE 8080 + +ENTRYPOINT ["/usr/sbin/nginx", "-g", "daemon off;"] + +# Penser à monter /var/lib/nginx/tmp et /run en emptyDir \ No newline at end of file