From 0af17ba2ec24eb081718975acdeaff5707acd3ff Mon Sep 17 00:00:00 2001 From: Josh Delsman <12201+voxxit@users.noreply.github.com> Date: Thu, 13 Mar 2025 09:14:05 -0500 Subject: [PATCH 1/6] fix: dont use --from=src --- apt-mirror/Dockerfile | 6 +++--- bind/Dockerfile | 4 ++-- icecast/Dockerfile | 6 +++--- liquidsoap/Dockerfile | 4 ++-- memcached/Dockerfile | 2 +- nginx-geoip2/Dockerfile | 2 +- nginx-http2/Dockerfile | 2 +- nginx-rtmp/Dockerfile | 2 +- nginx/Dockerfile | 2 +- pg/Dockerfile | 2 +- powerdns/Dockerfile | 2 +- rsyslog/Dockerfile | 2 +- swarm/Dockerfile | 4 ++-- 13 files changed, 20 insertions(+), 20 deletions(-) diff --git a/apt-mirror/Dockerfile b/apt-mirror/Dockerfile index 4ff2d31..d0d3e20 100644 --- a/apt-mirror/Dockerfile +++ b/apt-mirror/Dockerfile @@ -41,8 +41,8 @@ ENV SLEEP_SECS 3600 VOLUME ["${BASE_PATH}"] -COPY --from=src ./resources/apt/mirror.list.template /etc/apt/ -COPY --from=src ./resources/apt/post-mirror.sh ${VAR_PATH}/ -COPY --from=src ./resources/docker-entrypoint.sh /docker-entrypoint.sh +COPY ./resources/apt/mirror.list.template /etc/apt/ +COPY ./resources/apt/post-mirror.sh ${VAR_PATH}/ +COPY ./resources/docker-entrypoint.sh /docker-entrypoint.sh ENTRYPOINT ["/docker-entrypoint.sh"] diff --git a/bind/Dockerfile b/bind/Dockerfile index 1ecf446..5a4aebb 100644 --- a/bind/Dockerfile +++ b/bind/Dockerfile @@ -2,8 +2,8 @@ FROM alpine:3.18 RUN apk add --no-cache bind bind-doc bind-tools -COPY --from=src etc/bind/ /etc/bind/ -COPY --from=src entrypoint.sh /sbin/entrypoint.sh +COPY etc/bind/ /etc/bind/ +COPY entrypoint.sh /sbin/entrypoint.sh EXPOSE 53/tcp 53/udp diff --git a/icecast/Dockerfile b/icecast/Dockerfile index 768b98d..9429c50 100644 --- a/icecast/Dockerfile +++ b/icecast/Dockerfile @@ -19,11 +19,11 @@ RUN addgroup -g 1000 icecast \ && install -d -o icecast -g icecast /etc/icecast \ && chown -R icecast:icecast /usr/share/icecast -COPY --from=src etc/mime.types /etc/ +COPY etc/mime.types /etc/ USER icecast:icecast -COPY --from=src etc/icecast.xml /etc/icecast/ -COPY --from=src docker-entrypoint.sh / +COPY etc/icecast.xml /etc/icecast/ +COPY docker-entrypoint.sh / CMD [ "/docker-entrypoint.sh" ] diff --git a/liquidsoap/Dockerfile b/liquidsoap/Dockerfile index 9079a18..da5bd14 100644 --- a/liquidsoap/Dockerfile +++ b/liquidsoap/Dockerfile @@ -4,7 +4,7 @@ LABEL org.opencontainers.image.authors="j@srv.im" ENV LIQUIDSOAP_VERSION="2.2.0" -COPY --from=src install.sh /tmp/install.sh +COPY install.sh /tmp/install.sh RUN chmod +x /tmp/install.sh \ && /tmp/install.sh "${LIQUIDSOAP_VERSION}" \ @@ -28,7 +28,7 @@ VOLUME [ "/media", "/var/log/liquidsoap" ] EXPOSE 10000/tcp -COPY --chown=1001:1001 --from=src start-liquidsoap.sh /usr/bin/start-liquidsoap.sh +COPY --chown=1001:1001 start-liquidsoap.sh /usr/bin/start-liquidsoap.sh USER 1001:1001 ENTRYPOINT [ "/usr/bin/start-liquidsoap.sh" ] diff --git a/memcached/Dockerfile b/memcached/Dockerfile index 61ed06d..e5b5e02 100644 --- a/memcached/Dockerfile +++ b/memcached/Dockerfile @@ -4,7 +4,7 @@ LABEL org.opencontainers.image.authors="j@srv.im" ENV HOME /root -COPY --from=src start /start +COPY start /start RUN apt-get update && \ apt-get install -y memcached sasl2-bin pwgen && \ diff --git a/nginx-geoip2/Dockerfile b/nginx-geoip2/Dockerfile index 1216031..b7b85ac 100644 --- a/nginx-geoip2/Dockerfile +++ b/nginx-geoip2/Dockerfile @@ -1,6 +1,6 @@ FROM ubuntu:jammy -COPY --from=src . / +COPY . / RUN export DEBIAN_FRONTEND=noninteractive \ && apt-get update \ diff --git a/nginx-http2/Dockerfile b/nginx-http2/Dockerfile index a2dedce..d79f916 100644 --- a/nginx-http2/Dockerfile +++ b/nginx-http2/Dockerfile @@ -22,7 +22,7 @@ RUN apk add --no-cache openssl-dev pcre-dev zlib-dev build-base \ && apk del build-base \ && rm -rf /nginx-* -COPY --from=src nginx.conf /usr/local/nginx/conf/nginx.conf +COPY nginx.conf /usr/local/nginx/conf/nginx.conf VOLUME [ "/usr/local/nginx/logs", "/usr/local/nginx/html", "/usr/local/nginx/conf" ] diff --git a/nginx-rtmp/Dockerfile b/nginx-rtmp/Dockerfile index c186dc1..bcd4023 100644 --- a/nginx-rtmp/Dockerfile +++ b/nginx-rtmp/Dockerfile @@ -26,7 +26,7 @@ RUN apt-get update \ RUN ln -sf /dev/stdout /usr/local/nginx/logs/access.log \ && ln -sf /dev/stderr /usr/local/nginx/logs/error.log -COPY --from=src conf/nginx.conf /usr/local/nginx/conf/ +COPY conf/nginx.conf /usr/local/nginx/conf/ EXPOSE 80/tcp 1935/tcp diff --git a/nginx/Dockerfile b/nginx/Dockerfile index 2a42f1f..a61c360 100644 --- a/nginx/Dockerfile +++ b/nginx/Dockerfile @@ -9,7 +9,7 @@ VOLUME [ "/etc/nginx" ] EXPOSE 80/tcp 443/tcp -COPY --from=src nginx.conf /etc/nginx/nginx.conf +COPY nginx.conf /etc/nginx/nginx.conf ENTRYPOINT ["nginx"] CMD ["-c", "/etc/nginx/nginx.conf"] diff --git a/pg/Dockerfile b/pg/Dockerfile index 0a2f53e..0c9ae10 100644 --- a/pg/Dockerfile +++ b/pg/Dockerfile @@ -19,6 +19,6 @@ RUN apt-get update && \ VOLUME ["/var/lib/postgresql"] -COPY --from=src start /start +COPY start /start CMD ["/start"] diff --git a/powerdns/Dockerfile b/powerdns/Dockerfile index 988442e..3545463 100644 --- a/powerdns/Dockerfile +++ b/powerdns/Dockerfile @@ -6,7 +6,7 @@ RUN apt-get update \ && apt-get -y install --no-install-recommends pdns-server pdns-backend-mysql dnsutils \ && rm -rf /var/lib/apt/lists/* -COPY --from=src *.conf /etc/powerdns/pdns.d/ +COPY *.conf /etc/powerdns/pdns.d/ EXPOSE 53/tcp 53/udp 8081/tcp diff --git a/rsyslog/Dockerfile b/rsyslog/Dockerfile index c6eed8c..3bf8143 100644 --- a/rsyslog/Dockerfile +++ b/rsyslog/Dockerfile @@ -10,6 +10,6 @@ VOLUME [ "/var/log", "/etc/rsyslog.d" ] # for some reason, the apk comes built with a v5 # config file. using this one for v8: -COPY --from=src ./etc/rsyslog.conf /etc/rsyslog.conf +COPY ./etc/rsyslog.conf /etc/rsyslog.conf ENTRYPOINT [ "rsyslogd", "-n" ] diff --git a/swarm/Dockerfile b/swarm/Dockerfile index d3d03ce..83e0c61 100644 --- a/swarm/Dockerfile +++ b/swarm/Dockerfile @@ -2,8 +2,8 @@ FROM scratch LABEL org.opencontainers.image.authors="j@srv.im" -COPY --from=src swarm_linux_amd64 /bin/swarm -COPY --from=src ca-certificates.crt /etc/ssl/certs/ca-certificates.crt +COPY swarm_linux_amd64 /bin/swarm +COPY ca-certificates.crt /etc/ssl/certs/ca-certificates.crt EXPOSE 2375 From ff1da9dd5ac20a8333f4482393e907d6702fc55a Mon Sep 17 00:00:00 2001 From: Josh Delsman <12201+voxxit@users.noreply.github.com> Date: Thu, 13 Mar 2025 09:24:33 -0500 Subject: [PATCH 2/6] fix: nginx version & grunt issues --- nginx-http2/Dockerfile | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/nginx-http2/Dockerfile b/nginx-http2/Dockerfile index b63067b..c14a9d1 100644 --- a/nginx-http2/Dockerfile +++ b/nginx-http2/Dockerfile @@ -4,19 +4,20 @@ LABEL org.opencontainers.image.authors="j@srv.im" EXPOSE 80/tcp 443/tcp -ENV NGINX_VERSION 1.15.12 +ENV NGINX_VERSION 1.26.3 -RUN apk add --no-cache openssl-dev pcre-dev zlib-dev build-base \ +RUN apk add --no-cache openssl-dev~=3.0 pcre-dev zlib-dev build-base \ && wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz \ && tar -xzvf nginx-${NGINX_VERSION}.tar.gz \ && cd nginx-${NGINX_VERSION} \ && ./configure \ - --with-http_v2_module \ - --with-http_ssl_module \ - --with-http_realip_module \ - --with-http_stub_status_module \ - --with-threads \ - --with-ipv6 \ + --with-http_v2_module \ + --with-http_ssl_module \ + --with-openssl-opt=enable-tls1_3 \ + --with-http_realip_module \ + --with-http_stub_status_module \ + --with-threads \ + --with-ipv6 \ && make -j$(getconf _NPROCESSORS_ONLN) \ && make install \ && apk del build-base \ From fe9fb37c1d673ba776228bf824b19bf4910ac5ef Mon Sep 17 00:00:00 2001 From: Josh Delsman <12201+voxxit@users.noreply.github.com> Date: Thu, 13 Mar 2025 09:26:38 -0500 Subject: [PATCH 3/6] fix: nginx compilation --- nginx-http2/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nginx-http2/Dockerfile b/nginx-http2/Dockerfile index c14a9d1..e530082 100644 --- a/nginx-http2/Dockerfile +++ b/nginx-http2/Dockerfile @@ -6,7 +6,7 @@ EXPOSE 80/tcp 443/tcp ENV NGINX_VERSION 1.26.3 -RUN apk add --no-cache openssl-dev~=3.0 pcre-dev zlib-dev build-base \ +RUN apk add --no-cache openssl-dev~=3.3 pcre-dev zlib-dev build-base \ && wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz \ && tar -xzvf nginx-${NGINX_VERSION}.tar.gz \ && cd nginx-${NGINX_VERSION} \ From 45676c23d09ac2142655bb32c41fb9a5d052952e Mon Sep 17 00:00:00 2001 From: Josh Delsman <12201+voxxit@users.noreply.github.com> Date: Thu, 13 Mar 2025 09:43:20 -0500 Subject: [PATCH 4/6] Update Rails versions --- .github/workflows/docker-build.yml | 1 - .github/workflows/rails-docker-build.yml | 57 ++++++++++++++++++++++++ rails/{ => 5}/Dockerfile | 11 +++-- rails/6/Dockerfile | 27 +++++++++++ rails/7/Dockerfile | 27 +++++++++++ rails/8/Dockerfile | 27 +++++++++++ 6 files changed, 143 insertions(+), 7 deletions(-) create mode 100644 .github/workflows/rails-docker-build.yml rename rails/{ => 5}/Dockerfile (60%) create mode 100644 rails/6/Dockerfile create mode 100644 rails/7/Dockerfile create mode 100644 rails/8/Dockerfile diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index c5a0ea1..a41b687 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -118,7 +118,6 @@ jobs: matrix: image: - grunt - - rails - jq - goaccess steps: diff --git a/.github/workflows/rails-docker-build.yml b/.github/workflows/rails-docker-build.yml new file mode 100644 index 0000000..796de89 --- /dev/null +++ b/.github/workflows/rails-docker-build.yml @@ -0,0 +1,57 @@ +name: Build Rails Docker Images + +on: + push: + branches: [master] + paths: + - "rails/**/Dockerfile" + - ".github/workflows/rails-docker-build.yml" + pull_request: + branches: [master] + paths: + - "rails/**/Dockerfile" + - ".github/workflows/rails-docker-build.yml" + workflow_dispatch: + +jobs: + build-rails: + name: Build Rails Images + runs-on: ubuntu-latest + strategy: + matrix: + rails-version: ['5', '6', '7', '8'] + include: + - rails-version: '8' + is-latest: true + + steps: + - uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to Docker Hub + if: github.event_name != 'pull_request' + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Generate Docker metadata + id: meta + uses: docker/metadata-action@v5 + with: + images: voxxit/rails + tags: | + type=raw,value=${{ matrix.rails-version }} + type=raw,value=latest,enable=${{ matrix.is-latest == true }} + + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: ./rails/${{ matrix.rails-version }} + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + cache-from: type=gha + cache-to: type=gha,mode=max \ No newline at end of file diff --git a/rails/Dockerfile b/rails/5/Dockerfile similarity index 60% rename from rails/Dockerfile rename to rails/5/Dockerfile index cbc9722..208e982 100644 --- a/rails/Dockerfile +++ b/rails/5/Dockerfile @@ -1,14 +1,14 @@ FROM alpine:3.21 RUN apk add --no-cache \ - bash make nodejs gcc libc-dev git ruby libxml2-dev libxslt-dev \ - libffi-dev yaml-dev openssl-dev zlib-dev readline-dev \ + bash make nodejs gcc libc-dev git ruby libxml2-dev libxslt-dev \ + libffi-dev yaml-dev openssl-dev zlib-dev readline-dev \ && mkdir -p /usr/src/app \ && git clone https://github.com/postmodern/ruby-install /usr/src/ruby-install \ && cd /usr/src/ruby-install \ && make install \ - && ruby-install --system ruby 2.2.0-rc1 -- --disable-install-rdoc \ - && gem install bundler --no-ri --no-rdoc \ + && ruby-install --system ruby 2.5.9 -- --disable-install-rdoc \ + && gem install bundler rails -v 5.2.8.1 \ && bundle config --global build.nokogiri --use-system-libraries \ && apk del ruby \ && rm -rf /usr/src/* @@ -24,5 +24,4 @@ ONBUILD COPY . /usr/src/app EXPOSE 3000/tcp -# replace in your Dockerfile with another ruby server, etc. -CMD bundle exec rails server +CMD ["bundle", "exec", "rails", "server", "-b", "0.0.0.0"] \ No newline at end of file diff --git a/rails/6/Dockerfile b/rails/6/Dockerfile new file mode 100644 index 0000000..672148a --- /dev/null +++ b/rails/6/Dockerfile @@ -0,0 +1,27 @@ +FROM alpine:3.21 + +RUN apk add --no-cache \ + bash make nodejs gcc libc-dev git ruby libxml2-dev libxslt-dev \ + libffi-dev yaml-dev openssl-dev zlib-dev readline-dev \ + && mkdir -p /usr/src/app \ + && git clone https://github.com/postmodern/ruby-install /usr/src/ruby-install \ + && cd /usr/src/ruby-install \ + && make install \ + && ruby-install --system ruby 3.0.6 -- --disable-install-rdoc \ + && gem install bundler rails -v 6.1.7.10 \ + && bundle config --global build.nokogiri --use-system-libraries \ + && apk del ruby \ + && rm -rf /usr/src/* + +WORKDIR /usr/src/app + +ONBUILD COPY ./Gemfile /usr/src/app/ +ONBUILD COPY ./Gemfile.lock /usr/src/app/ + +ONBUILD RUN bundle install --system + +ONBUILD COPY . /usr/src/app + +EXPOSE 3000/tcp + +CMD ["bundle", "exec", "rails", "server", "-b", "0.0.0.0"] \ No newline at end of file diff --git a/rails/7/Dockerfile b/rails/7/Dockerfile new file mode 100644 index 0000000..3ec298e --- /dev/null +++ b/rails/7/Dockerfile @@ -0,0 +1,27 @@ +FROM alpine:3.21 + +RUN apk add --no-cache \ + bash make nodejs gcc libc-dev git ruby libxml2-dev libxslt-dev \ + libffi-dev yaml-dev openssl-dev zlib-dev readline-dev \ + && mkdir -p /usr/src/app \ + && git clone https://github.com/postmodern/ruby-install /usr/src/ruby-install \ + && cd /usr/src/ruby-install \ + && make install \ + && ruby-install --system ruby 3.3.0 -- --disable-install-rdoc \ + && gem install bundler rails -v 7.2.2.1 \ + && bundle config --global build.nokogiri --use-system-libraries \ + && apk del ruby \ + && rm -rf /usr/src/* + +WORKDIR /usr/src/app + +ONBUILD COPY ./Gemfile /usr/src/app/ +ONBUILD COPY ./Gemfile.lock /usr/src/app/ + +ONBUILD RUN bundle install --system + +ONBUILD COPY . /usr/src/app + +EXPOSE 3000/tcp + +CMD ["bundle", "exec", "rails", "server", "-b", "0.0.0.0"] \ No newline at end of file diff --git a/rails/8/Dockerfile b/rails/8/Dockerfile new file mode 100644 index 0000000..40a7105 --- /dev/null +++ b/rails/8/Dockerfile @@ -0,0 +1,27 @@ +FROM alpine:3.21 + +RUN apk add --no-cache \ + bash make nodejs gcc libc-dev git ruby libxml2-dev libxslt-dev \ + libffi-dev yaml-dev openssl-dev zlib-dev readline-dev \ + && mkdir -p /usr/src/app \ + && git clone https://github.com/postmodern/ruby-install /usr/src/ruby-install \ + && cd /usr/src/ruby-install \ + && make install \ + && ruby-install --system ruby 3.3.0 -- --disable-install-rdoc \ + && gem install bundler rails -v 8.0.2 \ + && bundle config --global build.nokogiri --use-system-libraries \ + && apk del ruby \ + && rm -rf /usr/src/* + +WORKDIR /usr/src/app + +ONBUILD COPY ./Gemfile /usr/src/app/ +ONBUILD COPY ./Gemfile.lock /usr/src/app/ + +ONBUILD RUN bundle install --system + +ONBUILD COPY . /usr/src/app + +EXPOSE 3000/tcp + +CMD ["bundle", "exec", "rails", "server", "-b", "0.0.0.0"] \ No newline at end of file From c4db184b81ab2700462a271133732762a3caae00 Mon Sep 17 00:00:00 2001 From: Josh Delsman <12201+voxxit@users.noreply.github.com> Date: Thu, 13 Mar 2025 09:55:05 -0500 Subject: [PATCH 5/6] Fixes --- rails/5/Dockerfile | 9 +++++---- rails/6/Dockerfile | 9 +++++---- rails/7/Dockerfile | 7 ++++--- rails/8/Dockerfile | 7 ++++--- 4 files changed, 18 insertions(+), 14 deletions(-) diff --git a/rails/5/Dockerfile b/rails/5/Dockerfile index 208e982..49b6a05 100644 --- a/rails/5/Dockerfile +++ b/rails/5/Dockerfile @@ -1,14 +1,15 @@ -FROM alpine:3.21 +FROM alpine:3.16 RUN apk add --no-cache \ - bash make nodejs gcc libc-dev git ruby libxml2-dev libxslt-dev \ - libffi-dev yaml-dev openssl-dev zlib-dev readline-dev \ + bash make nodejs gcc g++ libc-dev git ruby libxml2-dev libxslt-dev \ + libffi-dev yaml-dev openssl-dev zlib-dev readline-dev linux-headers \ && mkdir -p /usr/src/app \ && git clone https://github.com/postmodern/ruby-install /usr/src/ruby-install \ && cd /usr/src/ruby-install \ && make install \ && ruby-install --system ruby 2.5.9 -- --disable-install-rdoc \ - && gem install bundler rails -v 5.2.8.1 \ + --with-openssl-dir=/usr \ + && gem install 'bundler:1.17.3' 'rails:5.2.8.1' \ && bundle config --global build.nokogiri --use-system-libraries \ && apk del ruby \ && rm -rf /usr/src/* diff --git a/rails/6/Dockerfile b/rails/6/Dockerfile index 672148a..de50ada 100644 --- a/rails/6/Dockerfile +++ b/rails/6/Dockerfile @@ -1,14 +1,15 @@ -FROM alpine:3.21 +FROM alpine:3.16 RUN apk add --no-cache \ - bash make nodejs gcc libc-dev git ruby libxml2-dev libxslt-dev \ - libffi-dev yaml-dev openssl-dev zlib-dev readline-dev \ + bash make nodejs gcc g++ libc-dev git ruby libxml2-dev libxslt-dev \ + libffi-dev yaml-dev openssl-dev zlib-dev readline-dev linux-headers \ && mkdir -p /usr/src/app \ && git clone https://github.com/postmodern/ruby-install /usr/src/ruby-install \ && cd /usr/src/ruby-install \ && make install \ && ruby-install --system ruby 3.0.6 -- --disable-install-rdoc \ - && gem install bundler rails -v 6.1.7.10 \ + --with-openssl-dir=/usr \ + && gem install 'bundler:2.2.33' 'rails:6.1.7.10' \ && bundle config --global build.nokogiri --use-system-libraries \ && apk del ruby \ && rm -rf /usr/src/* diff --git a/rails/7/Dockerfile b/rails/7/Dockerfile index 3ec298e..9c0b799 100644 --- a/rails/7/Dockerfile +++ b/rails/7/Dockerfile @@ -1,14 +1,15 @@ FROM alpine:3.21 RUN apk add --no-cache \ - bash make nodejs gcc libc-dev git ruby libxml2-dev libxslt-dev \ - libffi-dev yaml-dev openssl-dev zlib-dev readline-dev \ + bash make nodejs gcc g++ libc-dev git ruby libxml2-dev libxslt-dev \ + libffi-dev yaml-dev openssl-dev zlib-dev readline-dev linux-headers \ && mkdir -p /usr/src/app \ && git clone https://github.com/postmodern/ruby-install /usr/src/ruby-install \ && cd /usr/src/ruby-install \ && make install \ && ruby-install --system ruby 3.3.0 -- --disable-install-rdoc \ - && gem install bundler rails -v 7.2.2.1 \ + --with-openssl-dir=/usr \ + && gem install 'bundler:2.5.6' 'rails:7.2.2.1' \ && bundle config --global build.nokogiri --use-system-libraries \ && apk del ruby \ && rm -rf /usr/src/* diff --git a/rails/8/Dockerfile b/rails/8/Dockerfile index 40a7105..61d7eae 100644 --- a/rails/8/Dockerfile +++ b/rails/8/Dockerfile @@ -1,14 +1,15 @@ FROM alpine:3.21 RUN apk add --no-cache \ - bash make nodejs gcc libc-dev git ruby libxml2-dev libxslt-dev \ - libffi-dev yaml-dev openssl-dev zlib-dev readline-dev \ + bash make nodejs gcc g++ libc-dev git ruby libxml2-dev libxslt-dev \ + libffi-dev yaml-dev openssl-dev zlib-dev readline-dev linux-headers \ && mkdir -p /usr/src/app \ && git clone https://github.com/postmodern/ruby-install /usr/src/ruby-install \ && cd /usr/src/ruby-install \ && make install \ && ruby-install --system ruby 3.3.0 -- --disable-install-rdoc \ - && gem install bundler rails -v 8.0.2 \ + --with-openssl-dir=/usr \ + && gem install 'bundler:2.5.6' 'rails:8.0.2' \ && bundle config --global build.nokogiri --use-system-libraries \ && apk del ruby \ && rm -rf /usr/src/* From 36a990926650456aa9737dea91a3c09edea7c238 Mon Sep 17 00:00:00 2001 From: Josh Delsman <12201+voxxit@users.noreply.github.com> Date: Wed, 2 Apr 2025 11:51:18 -0500 Subject: [PATCH 6/6] Remove Rails 5 support --- .github/workflows/rails-docker-build.yml | 8 ++++--- rails/5/Dockerfile | 28 ------------------------ 2 files changed, 5 insertions(+), 31 deletions(-) delete mode 100644 rails/5/Dockerfile diff --git a/.github/workflows/rails-docker-build.yml b/.github/workflows/rails-docker-build.yml index 796de89..420abeb 100644 --- a/.github/workflows/rails-docker-build.yml +++ b/.github/workflows/rails-docker-build.yml @@ -19,11 +19,13 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - rails-version: ['5', '6', '7', '8'] include: - - rails-version: '8' + - rails-version: '6' # Rails 6 + is-latest: false + - rails-version: '7' # Rails 7 + is-latest: false + - rails-version: '8' # Rails 8 is-latest: true - steps: - uses: actions/checkout@v4 diff --git a/rails/5/Dockerfile b/rails/5/Dockerfile deleted file mode 100644 index 49b6a05..0000000 --- a/rails/5/Dockerfile +++ /dev/null @@ -1,28 +0,0 @@ -FROM alpine:3.16 - -RUN apk add --no-cache \ - bash make nodejs gcc g++ libc-dev git ruby libxml2-dev libxslt-dev \ - libffi-dev yaml-dev openssl-dev zlib-dev readline-dev linux-headers \ - && mkdir -p /usr/src/app \ - && git clone https://github.com/postmodern/ruby-install /usr/src/ruby-install \ - && cd /usr/src/ruby-install \ - && make install \ - && ruby-install --system ruby 2.5.9 -- --disable-install-rdoc \ - --with-openssl-dir=/usr \ - && gem install 'bundler:1.17.3' 'rails:5.2.8.1' \ - && bundle config --global build.nokogiri --use-system-libraries \ - && apk del ruby \ - && rm -rf /usr/src/* - -WORKDIR /usr/src/app - -ONBUILD COPY ./Gemfile /usr/src/app/ -ONBUILD COPY ./Gemfile.lock /usr/src/app/ - -ONBUILD RUN bundle install --system - -ONBUILD COPY . /usr/src/app - -EXPOSE 3000/tcp - -CMD ["bundle", "exec", "rails", "server", "-b", "0.0.0.0"] \ No newline at end of file