diff --git a/.github/workflows/build-and-push-dev-images.yml b/.github/workflows/build-and-push-dev-images.yml index 4b3de90ae..a37b51402 100644 --- a/.github/workflows/build-and-push-dev-images.yml +++ b/.github/workflows/build-and-push-dev-images.yml @@ -24,7 +24,7 @@ on: inputs: ol: description: List of ol versions to build - default: 'oraclelinux7, oraclelinux8, oraclelinux9' + default: 'oraclelinux7, oraclelinux8, oraclelinux9, oraclelinux10' required: false lang: description: List of languages to build @@ -33,7 +33,7 @@ on: # Default values for the builds triggered by the push event env: - ol: 'oraclelinux7, oraclelinux8, oraclelinux9' + ol: 'oraclelinux7, oraclelinux8, oraclelinux9, oraclelinux10' lang: 'gcc-toolset, golang, nodejs, nginx, php, python, redis, ruby, haproxy, kubectl, helm, ocne-tools, httpd' jobs: diff --git a/OracleLinuxDevelopers/README.md b/OracleLinuxDevelopers/README.md index b1f9e9347..5098b8333 100644 --- a/OracleLinuxDevelopers/README.md +++ b/OracleLinuxDevelopers/README.md @@ -159,6 +159,40 @@ You should then be able to create a new Ruby on Rails application. * [`oraclelinux9-python:3.12`](oraclelinux9/python/3.12/Dockerfile) * [`oraclelinux9-python:3.12-oracledb`](oraclelinux9/python/3.12-oracledb/Dockerfile) +## Oracle Linux 10 based images + +### Go Toolset + +* [`oraclelinux10-golang:latest`](oraclelinux10/golang/latest/Dockerfile) +* [`oraclelinux10-golang:1.24`](oraclelinux10/golang/1.24/Dockerfile) + +### Nginx + +* [`oraclelinux10-nginx:1.26`](oraclelinux10/nginx/1.26/Dockerfile) +* [`oraclelinux10-nginx:1.26-core`](oraclelinux10/nginx/1.26-core/Dockerfile) +* [`oraclelinux10-nginx:1.26-full`](oraclelinux10/nginx/1.26-full/Dockerfile) + +### httpd + +* [`oraclelinux10-httpd:2.4`](oraclelinux10/httpd/2.4/Dockerfile) + +### Node.js + +* [`oraclelinux10-nodejs:22`](oraclelinux10/nodejs/22/Dockerfile) + +### Python + +* [`oraclelinux10-python:3.12`](oraclelinux10/python/3.12/Dockerfile) +* [`oraclelinux10-python:3.12-oracledb`](oraclelinux10/python/3.12-oracledb/Dockerfile) + +### Ruby + +* [`oraclelinux10-ruby:3.3`](oraclelinux10/ruby/3.3/Dockerfile) + +### Valkey + +* [`oraclelinux10-valkey:7`](oraclelinux10/valkey/7/Dockerfile) + [1]: https://github.com/orgs/oracle/packages?repo_name=docker-images [2]: https://yum.oracle.com diff --git a/OracleLinuxDevelopers/oraclelinux10/golang/1.24/Dockerfile b/OracleLinuxDevelopers/oraclelinux10/golang/1.24/Dockerfile new file mode 100644 index 000000000..995ee5296 --- /dev/null +++ b/OracleLinuxDevelopers/oraclelinux10/golang/1.24/Dockerfile @@ -0,0 +1,9 @@ +# Copyright (c) 2025 Oracle and/or its affiliates. +# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. + +FROM ghcr.io/oracle/oraclelinux:10 + +RUN dnf -y install go-toolset-1.24.6 && \ + rm -rf /var/cache/dnf + +CMD ["/bin/go", "version"] diff --git a/OracleLinuxDevelopers/oraclelinux10/golang/latest/Dockerfile b/OracleLinuxDevelopers/oraclelinux10/golang/latest/Dockerfile new file mode 100644 index 000000000..a29bbc207 --- /dev/null +++ b/OracleLinuxDevelopers/oraclelinux10/golang/latest/Dockerfile @@ -0,0 +1,9 @@ +# Copyright (c) 2025 Oracle and/or its affiliates. +# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. + +FROM ghcr.io/oracle/oraclelinux:10 + +RUN dnf -y install go-toolset && \ + rm -rf /var/cache/dnf + +CMD ["/bin/go", "version"] diff --git a/OracleLinuxDevelopers/oraclelinux10/haproxy/3.0/Dockerfile b/OracleLinuxDevelopers/oraclelinux10/haproxy/3.0/Dockerfile new file mode 100644 index 000000000..664878cb2 --- /dev/null +++ b/OracleLinuxDevelopers/oraclelinux10/haproxy/3.0/Dockerfile @@ -0,0 +1,14 @@ +# Copyright (c) 2025 Oracle and/or its affiliates. +# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. + +FROM ghcr.io/oracle/oraclelinux:10 + +RUN \ + dnf -y install haproxy && \ + rm -rf /var/cache/dnf + +EXPOSE 5000 + +CMD ["/usr/sbin/haproxy", "-p", "/run/haproxy.pid", "-f", "/etc/haproxy/haproxy.cfg", "-W", "-db"] + + diff --git a/OracleLinuxDevelopers/oraclelinux10/httpd/2.4/Dockerfile b/OracleLinuxDevelopers/oraclelinux10/httpd/2.4/Dockerfile new file mode 100644 index 000000000..86d003598 --- /dev/null +++ b/OracleLinuxDevelopers/oraclelinux10/httpd/2.4/Dockerfile @@ -0,0 +1,21 @@ +# Copyright (c) 2025 Oracle and/or its affiliates. +# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. + +FROM ghcr.io/oracle/oraclelinux:10 + +RUN dnf install -y httpd mod_ssl && \ + rm -rf /var/cache/dnf + +RUN sed -i \ + -e 's/^SSLCertificateFile .*/SSLCertificateFile \/certs\/fullchain.pem/g' \ + -e 's/^SSLCertificateKeyFile .*/SSLCertificateKeyFile \/certs\/privkey.pem/g' \ + /etc/httpd/conf.d/ssl.conf + +RUN mkdir -p /certs + +ENV CERTIFICATE_DIR /certs +ENV KEY_DIR /certs + +COPY ./entrypoint.sh /opt/entrypoint.sh + +CMD ["/opt/entrypoint.sh"] \ No newline at end of file diff --git a/OracleLinuxDevelopers/oraclelinux10/nginx/1.26-core/Dockerfile b/OracleLinuxDevelopers/oraclelinux10/nginx/1.26-core/Dockerfile new file mode 100644 index 000000000..4f5a3902b --- /dev/null +++ b/OracleLinuxDevelopers/oraclelinux10/nginx/1.26-core/Dockerfile @@ -0,0 +1,18 @@ +# Copyright (c) 2025 Oracle and/or its affiliates. +# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. + +FROM ghcr.io/oracle/oraclelinux:10 + +RUN dnf -y install nginx-core && \ + rm -rf /var/cache/dnf \ + && \ + # forward request and error logs to container engine log collector + ln -sf /dev/stdout /var/log/nginx/access.log && \ + ln -sf /dev/stderr /var/log/nginx/error.log + +EXPOSE 80/tcp +EXPOSE 443/tcp + +STOPSIGNAL SIGQUIT + +CMD ["nginx", "-g", "daemon off;"] diff --git a/OracleLinuxDevelopers/oraclelinux10/nginx/1.26-full/Dockerfile b/OracleLinuxDevelopers/oraclelinux10/nginx/1.26-full/Dockerfile new file mode 100644 index 000000000..65b4dbd43 --- /dev/null +++ b/OracleLinuxDevelopers/oraclelinux10/nginx/1.26-full/Dockerfile @@ -0,0 +1,18 @@ +# Copyright (c) 2025 Oracle and/or its affiliates. +# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. + +FROM ghcr.io/oracle/oraclelinux:10 + +RUN dnf -y install nginx-all-modules && \ + rm -rf /var/cache/dnf \ + && \ + # forward request and error logs to container engine log collector + ln -sf /dev/stdout /var/log/nginx/access.log && \ + ln -sf /dev/stderr /var/log/nginx/error.log + +EXPOSE 80/tcp +EXPOSE 443/tcp + +STOPSIGNAL SIGQUIT + +CMD ["nginx", "-g", "daemon off;"] diff --git a/OracleLinuxDevelopers/oraclelinux10/nginx/1.26/Dockerfile b/OracleLinuxDevelopers/oraclelinux10/nginx/1.26/Dockerfile new file mode 100644 index 000000000..a66641ec7 --- /dev/null +++ b/OracleLinuxDevelopers/oraclelinux10/nginx/1.26/Dockerfile @@ -0,0 +1,18 @@ +# Copyright (c) 2025 Oracle and/or its affiliates. +# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. + +FROM ghcr.io/oracle/oraclelinux:10 + +RUN dnf -y install nginx && \ + rm -rf /var/cache/dnf \ + && \ + # forward request and error logs to container engine log collector + ln -sf /dev/stdout /var/log/nginx/access.log && \ + ln -sf /dev/stderr /var/log/nginx/error.log + +EXPOSE 80/tcp +EXPOSE 443/tcp + +STOPSIGNAL SIGQUIT + +CMD ["nginx", "-g", "daemon off;"] diff --git a/OracleLinuxDevelopers/oraclelinux10/nodejs/22/Dockerfile b/OracleLinuxDevelopers/oraclelinux10/nodejs/22/Dockerfile new file mode 100644 index 000000000..cae3d16b5 --- /dev/null +++ b/OracleLinuxDevelopers/oraclelinux10/nodejs/22/Dockerfile @@ -0,0 +1,9 @@ +# Copyright (c) 2025 Oracle and/or its affiliates. +# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. + +FROM ghcr.io/oracle/oraclelinux:10 + +RUN dnf -y install nodejs nodejs-nodemon npm && \ + rm -rf /var/cache/dnf + +CMD ["/bin/node", "-v"] diff --git a/OracleLinuxDevelopers/oraclelinux10/python/3.12-oracledb/Dockerfile b/OracleLinuxDevelopers/oraclelinux10/python/3.12-oracledb/Dockerfile new file mode 100644 index 000000000..7d7e254fa --- /dev/null +++ b/OracleLinuxDevelopers/oraclelinux10/python/3.12-oracledb/Dockerfile @@ -0,0 +1,10 @@ +# Copyright (c) 2025 Oracle and/or its affiliates. +# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. + +FROM ghcr.io/oracle/oraclelinux10-python:3.12 + +RUN dnf -y install oraclelinux-developer-release-el10 && \ + dnf -y install python3.12-oracledb && \ + rm -rf /var/cache/dnf + +CMD ["/bin/python3", "--version"] diff --git a/OracleLinuxDevelopers/oraclelinux10/python/3.12/Dockerfile b/OracleLinuxDevelopers/oraclelinux10/python/3.12/Dockerfile new file mode 100644 index 000000000..4fb2755f2 --- /dev/null +++ b/OracleLinuxDevelopers/oraclelinux10/python/3.12/Dockerfile @@ -0,0 +1,9 @@ +# Copyright (c) 2025 Oracle and/or its affiliates. +# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. + +FROM ghcr.io/oracle/oraclelinux:10 + +RUN dnf -y install python3 python3-libs python3-pip python3-setuptools && \ + rm -rf /var/cache/dnf + +CMD ["/usr/bin/python3.12", "-V"] diff --git a/OracleLinuxDevelopers/oraclelinux10/ruby/3.3/Dockerfile b/OracleLinuxDevelopers/oraclelinux10/ruby/3.3/Dockerfile new file mode 100644 index 000000000..8ae4e2710 --- /dev/null +++ b/OracleLinuxDevelopers/oraclelinux10/ruby/3.3/Dockerfile @@ -0,0 +1,11 @@ +# Copyright (c) 2025 Oracle and/or its affiliates. +# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. + +FROM ghcr.io/oracle/oraclelinux:10 + +RUN dnf -y install ruby ruby-libs ruby-devel ruby-irb \ + rubygems rubygem-rake rubygem-bundler \ + gcc make && \ + rm -rf /var/cache/dnf + +CMD ["irb"] diff --git a/OracleLinuxDevelopers/oraclelinux10/valkey/7/Dockerfile b/OracleLinuxDevelopers/oraclelinux10/valkey/7/Dockerfile new file mode 100644 index 000000000..acfd4e512 --- /dev/null +++ b/OracleLinuxDevelopers/oraclelinux10/valkey/7/Dockerfile @@ -0,0 +1,18 @@ +# Copyright (c) 2025 Oracle and/or its affiliates. +# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. + +FROM ghcr.io/oracle/oraclelinux:10 + +RUN dnf install -y valkey && \ + rm -rf /var/cache/dnf + +RUN sed -i.bak \ + -e 's/protected-mode yes/protected-mode no/g' \ + -e 's/^bind/# bind/g' \ + -e 's/^unixsocket/# unixsocket/g' \ + -e 's/^logfile .*/logfile \"\"/g' \ + /etc/valkey/valkey.conf + +EXPOSE 6379 + +CMD ["valkey-server", "/etc/valkey/valkey.conf"]