diff --git a/.travis.yml b/.travis.yml index 33d326d..703589a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,26 +1,30 @@ language: bash -dist: xenial +dist: bionic sudo: required env: -- TEMPLATE=centos-ruby/7 -- TEMPLATE=gce-parity/14.04 -- TEMPLATE=gce-parity/16.04 +# - TEMPLATE=centos-ruby/7 +# - TEMPLATE=gce-parity/14.04 +# - TEMPLATE=gce-parity/16.04 - TEMPLATE=gce-parity/18.04 - TEMPLATE=gce-parity/20.04 -- TEMPLATE=ubuntu-ruby/14.04 -- TEMPLATE=ubuntu-ruby/16.04 +- TEMPLATE=gce-parity/22.04 +- TEMPLATE=gce-parity/24.04 +# - TEMPLATE=ubuntu-ruby/14.04 +# - TEMPLATE=ubuntu-ruby/16.04 - TEMPLATE=ubuntu-ruby/18.04 -- TEMPLATE=ubuntu-systemd/16.04 +# - TEMPLATE=ubuntu-systemd/16.04 - TEMPLATE=ubuntu-systemd/18.04 - TEMPLATE=ubuntu-systemd/20.04 -- TEMPLATE=ubuntu-upstart/12.04 -- TEMPLATE=ubuntu-upstart/14.04 +- TEMPLATE=ubuntu-systemd/22.04 +- TEMPLATE=ubuntu-systemd/24.04 +# - TEMPLATE=ubuntu-upstart/12.04 +# - TEMPLATE=ubuntu-upstart/14.04 matrix: include: - - env: TEMPLATE=gce-parity/16.04-ppc64le - os: linux-ppc64le - - env: TEMPLATE=ubuntu-systemd/16.04-ppc64le - os: linux-ppc64le + # - env: TEMPLATE=gce-parity/16.04-ppc64le + # os: linux-ppc64le + # - env: TEMPLATE=ubuntu-systemd/16.04-ppc64le + # os: linux-ppc64le - env: TEMPLATE=gce-parity/18.04-ppc64le os: linux-ppc64le - env: TEMPLATE=ubuntu-systemd/18.04-ppc64le diff --git a/LICENSE b/LICENSE index 90a9ebd..85372a6 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2017 Travis CI +Copyright (c) 2025 Travis CI Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 2274737..d466dbe 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # The Whale Of The Night -[![Build Status](https://travis-ci.org/travis-ci/nightwhale.svg?branch=master)](https://travis-ci.org/travis-ci/nightwhale) +[![Build Status](https://travis-ci.com/travis-ci/nightwhale.svg?branch=master)](https://travis-ci.com/travis-ci/nightwhale) Nightly build docker stuff, specifically for use with things at Travis via [packer-templates](https://github.com/travis-ci/packer-templates). @@ -8,7 +8,7 @@ Nightly build docker stuff, specifically for use with things at Travis via ## How, specifically - This repository is enabled on - [travis-ci.org](https://travis-ci.org/travis-ci/nightwhale) with nightly + [travis-ci.com](https://travis-ci.com/travis-ci/nightwhale) with nightly (daily) cron builds. - When a given job succeeds, and is on the `master` branch, and is not a pull request job, the resulting docker image is pushed to [Docker diff --git a/gce-parity/16.04-ppc64le/packages.txt b/gce-parity/16.04-ppc64le/packages.txt index ff4006f..57fd96f 100644 --- a/gce-parity/16.04-ppc64le/packages.txt +++ b/gce-parity/16.04-ppc64le/packages.txt @@ -276,11 +276,8 @@ libxmuu1 libxtables11 libyaml-0-2 linux-base -linux-headers-4.8.0-56 -linux-headers-4.8.0-56-generic linux-headers-generic-hwe-16.04 linux-headers-virtual-hwe-16.04 -linux-image-4.8.0-56-generic linux-image-virtual-hwe-16.04 linux-virtual-hwe-16.04 locales diff --git a/gce-parity/16.04/packages.txt b/gce-parity/16.04/packages.txt index 24ff801..df5ed62 100644 --- a/gce-parity/16.04/packages.txt +++ b/gce-parity/16.04/packages.txt @@ -280,11 +280,8 @@ libxmuu1:amd64 libxtables11:amd64 libyaml-0-2:amd64 linux-base -linux-headers-4.8.0-56 -linux-headers-4.8.0-56-generic linux-headers-generic-hwe-16.04 linux-headers-virtual-hwe-16.04 -linux-image-4.8.0-56-generic linux-image-virtual-hwe-16.04 linux-virtual-hwe-16.04 locales diff --git a/gce-parity/22.04/Dockerfile b/gce-parity/22.04/Dockerfile new file mode 100644 index 0000000..54d42dd --- /dev/null +++ b/gce-parity/22.04/Dockerfile @@ -0,0 +1,17 @@ +FROM travisci/ubuntu-systemd:22.04 + +ENV DEBIAN_FRONTEND noninteractive + +ADD packages.txt /var/tmp/packages.txt + +RUN apt-get update -yq && apt-get install -y software-properties-common + +RUN apt-add-repository -y multiverse && \ + apt-add-repository -y restricted && \ + apt-add-repository -y universe + +RUN apt-get update -yq && \ + cat /var/tmp/packages.txt \ + | xargs apt-get install -yq --no-install-suggests --no-install-recommends + +RUN apt-get clean && rm -rf /var/lib/apt/lists/* diff --git a/gce-parity/22.04/packages.txt b/gce-parity/22.04/packages.txt new file mode 100644 index 0000000..4f635b8 --- /dev/null +++ b/gce-parity/22.04/packages.txt @@ -0,0 +1,489 @@ +adduser +amd64-microcode +apparmor +apport +apport-symptoms +apt +apt-utils +base-files +base-passwd +bash +bash-completion +bc +bcache-tools +bind9-dnsutils +bind9-host +bind9-libs +binutils +binutils-common +binutils-x86-64-linux-gnu +bolt +bsdextrautils +bsdutils +btrfs-progs +busybox-initramfs +busybox-static +byobu +ca-certificates +casper +cifs-utils +cloud-guest-utils +cloud-init +cloud-initramfs-copymods +cloud-initramfs-dyn-netconf +command-not-found +console-setup +console-setup-linux +coreutils +cpio +cron +cryptsetup +cryptsetup-bin +cryptsetup-initramfs +curl +dash +dbus +dbus-user-session +debconf +debconf-i18n +debianutils +diffutils +dirmngr +distro-info +distro-info-data +dmeventd +dmidecode +dmsetup +dosfstools +dpkg +e2fsprogs +eatmydata +ed +eject +ethtool +fdisk +file +finalrd +findutils +firmware-sof-signed +fonts-ubuntu-console +friendly-recovery +ftp +fuse3 +fwupd +fwupd-signed +gawk +gcc-12-base +gdisk +gettext-base +gir1.2-glib-2.0 +gir1.2-packagekitglib-1.0 +git +git-man +gnupg +gnupg-l10n +gnupg-utils +gpg +gpg-agent +gpg-wks-client +gpg-wks-server +gpgconf +gpgsm +gpgv +grep +groff-base +grub-common +grub-gfxpayload-lists +grub-pc +grub-pc-bin +grub2-common +gzip +hdparm +hostname +htop +info +init +init-system-helpers +initramfs-tools +initramfs-tools-bin +initramfs-tools-core +install-info +intel-microcode +iproute2 +iptables +iputils-ping +isc-dhcp-client +isc-dhcp-common +kbd +keyboard-configuration +klibc-utils +kmod +kpartx +krb5-locales +language-pack-en +language-pack-en-base +less +libacl1 +libapparmor1 +libapt-pkg6.0 +libargon2-1 +libattr1 +libaudit-common +libaudit1 +libblkid1 +libbz2-1.0 +libc-bin +libc6 +libcap-ng0 +libcap2 +libcap2-bin +libcom-err2 +libcrypt1 +libcryptsetup12 +libdb5.3 +libdebconfclient0 +libdevmapper1.02.1 +libdrm-common +libdrm2 +libdumbnet1 +libeatmydata1 +libedit2 +libefiboot1 +libefivar1 +libelf1 +liberror-perl +libestr0 +libevent-2.1-7 +libexpat1 +libext2fs2 +libfastjson4 +libfdisk1 +libffi7 +libfreetype6 +libfribidi0 +libfuse2 +libgcc1 +libgcrypt20 +libgdbm-compat4 +libgdbm6 +libgeoip1 +libgirepository-1.0-1 +libglib2.0-0 +libglib2.0-data +libgmp10 +libgnutls30 +libgpg-error0 +libgpm2 +libgssapi-krb5-2 +libgssapi3-heimdal +libhcrypto4-heimdal +libheimbase1-heimdal +libheimntlm0-heimdal +libhx509-5-heimdal +libidn2-0 +libip4tc2 +libip6tc2 +libiptc0 +libirs161 +libisc-export1105 +libisc1105 +libisccc161 +libisccfg163 +libisns0 +libk5crypto3 +libkeyutils1 +libklibc +libkmod2 +libkrb5-26-heimdal +libkrb5-3 +libkrb5support0 +libksba8 +libldap-common +liblocale-gettext-perl +liblvm2cmd2.03 +liblwres161 +liblxc-common +liblxc1 +liblz4-1 +liblzma5 +liblzo2-2 +libmagic-mgc +libmagic1 +libmnl0 +libmount1 +libmpfr6 +libmspack0 +libncurses5 +libncursesw5 +libnetfilter-conntrack3 +libnewt0.52 +libnfnetlink0 +libnghttp2-14 +libnpth0 +libnspr4 +libnss-systemd +libnss3 +libnuma1 +libp11-kit0 +libpam-cap +libpam-modules +libpam-modules-bin +libpam-runtime +libpam-systemd +libpam0g +libparted2 +libpcap0.8 +libpci3 +libpcre3 +libpipeline1 +libplymouth5 +libpng16-16 +libpolkit-agent-1-0 +libpolkit-gobject-1-0 +libpopt0 +libprocps8 +libpsl5 +libpython3-stdlib +libpython3.10 +libpython3.10-minimal +libpython3.10-stdlib +libreadline8 +libroken18-heimdal +librtmp1 +libsasl2-2 +libsasl2-modules +libsasl2-modules-db +libseccomp2 +libselinux1 +libsemanage-common +libsigsegv2 +libslang2 +libsmartcols1 +libsqlite3-0 +libss2 +libssl3 +libstdc++6 +libsystemd0 +libtasn1-6 +libtext-charwidth-perl +libtext-iconv-perl +libtext-wrapi18n-perl +libtinfo6 +libudev1 +libunistring2 +libunwind8 +libusb-1.0-0 +libutempter0 +libuuid1 +libwind0-heimdal +libwrap0 +libx11-6 +libx11-data +libxau6 +libxcb1 +libxdmcp6 +libxext6 +libxml2 +libxmlsec1 +libxmlsec1-openssl +libxmuu1 +libxslt1.1 +libxtables12 +libyaml-0-2 +libzstd1 +linux-base +linux-firmware +linux-generic +linux-headers-5.15.0-78-generic +linux-headers-generic +linux-image-5.15.0-78-generic +linux-image-generic +linux-libc-dev +locales +login +logrotate +lsb-base +lsb-release +lshw +lsof +ltrace +lvm2 +lxcfs +man-db +manpages +mawk +mdadm +mime-support +mlocate +mokutil +mount +mtr-tiny +nano +ncurses-base +ncurses-bin +ncurses-term +net-tools +netbase +netcat-openbsd +netplan.io +networkd-dispatcher +nplan +ntfs-3g +open-iscsi +open-vm-tools +openssh-client +openssh-server +openssh-sftp-server +openssl +os-prober +overlayroot +parted +passwd +pastebinit +patch +pciutils +perl +perl-base +perl-modules-5.34 +pinentry-curses +plymouth +plymouth-theme-ubuntu-text +policykit-1 +pollinate +popularity-contest +powermgmt-base +procps +psmisc +publicsuffix +python-apt-common +python3 +python3-apport +python3-apt +python3-asn1crypto +python3-attr +python3-automat +python3-blinker +python3-boto3 +python3-botocore +python3-certifi +python3-cffi-backend +python3-chardet +python3-click +python3-colorama +python3-commandnotfound +python3-configobj +python3-constantly +python3-cryptography +python3-cups +python3-cupshelpers +python3-dateutil +python3-dbus +python3-debconf +python3-debian +python3-defer +python3-distro +python3-distro-info +python3-distupgrade +python3-distutils +python3-gdbm:amd64 +python3-gi +python3-idna +python3-importlib-metadata +python3-jinja2 +python3-json-pointer +python3-jsonpatch +python3-jsonschema +python3-jwt +python3-lib2to3 +python3-louis +python3-macaroonbakery +python3-mako +python3-markupsafe +python3-minimal +python3-nacl +python3-netifaces +python3-oauthlib +python3-pkg-resources +python3-problem-report +python3-pyasn1 +python3-pyasn1-modules +python3-pyparsing +python3-requests +python3-requests-unixsocket +python3-rfc3339 +python3-secretstorage +python3-serial +python3-simplejson +python3-six +python3-software-properties +python3-systemd +python3-tz +python3-urllib3 +python3-wadllib +python3-yaml +python3-zipp +python3.10 +python3.10-minimal +readline-common +rsync +rsyslog +run-one +sed +sensible-utils +sgml-base +snapd +sosreport +ssh-import-id +strace +sudo +systemd +systemd-sysv +systemd-timesyncd +sysvinit-utils +tar +tcpd +tcpdump +telnet +time +tmux +tzdata +ubuntu-advantage-tools +ubuntu-keyring +ubuntu-minimal +ubuntu-release-upgrader-core +ubuntu-server +ucf +udev +ufw +uidmap +unattended-upgrades +unzip +update-manager-core +update-notifier-common +usb-creator-common +usb-creator-gtk +usb-modeswitch +usb-modeswitch-data +usb.ids +usbutils +util-linux +uuid-runtime +vim +vim-common +vim-runtime +vim-tiny +wget +whiptail +wireless-regdb +wireless-tools +wpasupplicant +xauth +xdg-user-dirs +xfsprogs +xkb-data +xml-core +xz-utils +zerofree +zlib1g +zsh +zsh-common diff --git a/gce-parity/24.04/Dockerfile b/gce-parity/24.04/Dockerfile new file mode 100644 index 0000000..2294903 --- /dev/null +++ b/gce-parity/24.04/Dockerfile @@ -0,0 +1,17 @@ +FROM travisci/ubuntu-systemd:24.04 + +ENV DEBIAN_FRONTEND noninteractive + +ADD packages.txt /var/tmp/packages.txt + +RUN apt-get update -yq && apt-get install -y software-properties-common + +RUN apt-add-repository -y multiverse && \ + apt-add-repository -y restricted && \ + apt-add-repository -y universe + +RUN apt-get update -yq && \ + cat /var/tmp/packages.txt \ + | xargs apt-get install -yq --no-install-suggests --no-install-recommends + +RUN apt-get clean && rm -rf /var/lib/apt/lists/* diff --git a/gce-parity/24.04/packages.txt b/gce-parity/24.04/packages.txt new file mode 100644 index 0000000..5f94553 --- /dev/null +++ b/gce-parity/24.04/packages.txt @@ -0,0 +1,468 @@ +adduser +amd64-microcode +apparmor +apport +apport-symptoms +apt +apt-utils +base-files +base-passwd +bash +bash-completion +bc +bcache-tools +bind9-dnsutils +bind9-host +bind9-libs +binutils +binutils-common +binutils-x86-64-linux-gnu +bolt +bsdextrautils +bsdutils +btrfs-progs +busybox-initramfs +busybox-static +byobu +ca-certificates +casper +cifs-utils +cloud-guest-utils +cloud-init +cloud-initramfs-copymods +cloud-initramfs-dyn-netconf +command-not-found +console-setup +console-setup-linux +coreutils +cpio +cron +cryptsetup +cryptsetup-bin +cryptsetup-initramfs +curl +dash +dbus +dbus-user-session +debconf +debconf-i18n +debianutils +diffutils +dirmngr +distro-info +distro-info-data +dmeventd +dmidecode +dmsetup +dosfstools +dpkg +e2fsprogs +eatmydata +ed +eject +ethtool +fdisk +file +finalrd +findutils +firmware-sof-signed +fonts-ubuntu-console +friendly-recovery +ftp +fuse3 +fwupd +fwupd-signed +gawk +gcc-12-base +gdisk +gettext-base +gir1.2-glib-2.0 +gir1.2-packagekitglib-1.0 +git +git-man +gnupg +gnupg-l10n +gnupg-utils +gpg +gpg-agent +gpg-wks-client +gpg-wks-server +gpgconf +gpgsm +gpgv +grep +groff-base +grub-common +grub-gfxpayload-lists +grub-pc +grub-pc-bin +grub2-common +gzip +hdparm +hostname +htop +info +init +init-system-helpers +initramfs-tools +initramfs-tools-bin +initramfs-tools-core +install-info +intel-microcode +iproute2 +iptables +iputils-ping +isc-dhcp-client +isc-dhcp-common +kbd +keyboard-configuration +klibc-utils +kmod +kpartx +krb5-locales +language-pack-en +language-pack-en-base +less +libacl1 +libapparmor1 +libapt-pkg6.0 +libargon2-1 +libattr1 +libaudit-common +libaudit1 +libblkid1 +libbz2-1.0 +libc-bin +libc6 +libcap-ng0 +libcap2 +libcap2-bin +libcom-err2 +libcrypt1 +libcryptsetup12 +libdb5.3 +libdebconfclient0 +libdevmapper1.02.1 +libdrm-common +libdrm2 +libdumbnet1 +libeatmydata1 +libedit2 +libefiboot1 +libefivar1 +libelf1 +liberror-perl +libestr0 +libevent-2.1-7 +libexpat1 +libext2fs2 +libfastjson4 +libfdisk1 +libfreetype6 +libfribidi0 +libfuse2 +libgcc1 +libgcrypt20 +libgdbm-compat4 +libgdbm6 +libgeoip1 +libgirepository-1.0-1 +libglib2.0-0 +libglib2.0-data +libgmp10 +libgnutls30 +libgpg-error0 +libgpm2 +libgssapi-krb5-2 +libgssapi3-heimdal +libheimbase1-heimdal +libheimntlm0-heimdal +libhx509-5-heimdal +libidn2-0 +libip4tc2 +libip6tc2 +libisns0 +libk5crypto3 +libkeyutils1 +libklibc +libkmod2 +libkrb5-26-heimdal +libkrb5-3 +libkrb5support0 +libksba8 +libldap-common +liblocale-gettext-perl +liblvm2cmd2.03 +liblxc-common +liblxc1 +liblz4-1 +liblzma5 +liblzo2-2 +libmagic-mgc +libmagic1 +libmnl0 +libmount1 +libmpfr6 +libmspack0 +libnetfilter-conntrack3 +libnewt0.52 +libnfnetlink0 +libnghttp2-14 +libnpth0 +libnspr4 +libnss-systemd +libnss3 +libnuma1 +libp11-kit0 +libpam-cap +libpam-modules +libpam-modules-bin +libpam-runtime +libpam-systemd +libpam0g +libparted2 +libpcap0.8 +libpci3 +libpcre3 +libpipeline1 +libplymouth5 +libpng16-16 +libpolkit-agent-1-0 +libpolkit-gobject-1-0 +libpopt0 +libpsl5 +libpython3-stdlib +libpython3.12 +libpython3.12-minimal +libpython3.12-stdlib +libreadline8 +librtmp1 +libsasl2-2 +libsasl2-modules +libsasl2-modules-db +libseccomp2 +libselinux1 +libsemanage-common +libsigsegv2 +libslang2 +libsmartcols1 +libsqlite3-0 +libss2 +libssl3 +libstdc++6 +libsystemd0 +libtasn1-6 +libtext-charwidth-perl +libtext-iconv-perl +libtext-wrapi18n-perl +libtinfo6 +libudev1 +libunwind8 +libusb-1.0-0 +libutempter0 +libuuid1 +libwind0-heimdal +libwrap0 +libx11-6 +libx11-data +libxau6 +libxcb1 +libxdmcp6 +libxext6 +libxml2 +libxmlsec1 +libxmlsec1-openssl +libxmuu1 +libxslt1.1 +libxtables12 +libyaml-0-2 +libzstd1 +linux-base +linux-firmware +linux-generic +linux-headers-generic +linux-image-generic +linux-libc-dev +locales +login +logrotate +lsb-base +lsb-release +lshw +lsof +ltrace +lvm2 +lxcfs +man-db +manpages +mawk +mdadm +mokutil +mount +mtr-tiny +nano +ncurses-base +ncurses-bin +ncurses-term +net-tools +netbase +netcat-openbsd +netplan.io +networkd-dispatcher +ntfs-3g +open-iscsi +open-vm-tools +openssh-client +openssh-server +openssh-sftp-server +openssl +os-prober +overlayroot +parted +passwd +pastebinit +patch +pciutils +perl +perl-base +pinentry-curses +plymouth +plymouth-theme-ubuntu-text +policykit-1 +pollinate +popularity-contest +powermgmt-base +procps +psmisc +publicsuffix +python-apt-common +python3 +python3-apport +python3-apt +python3-asn1crypto +python3-attr +python3-automat +python3-blinker +python3-boto3 +python3-botocore +python3-certifi +python3-cffi-backend +python3-chardet +python3-click +python3-colorama +python3-commandnotfound +python3-configobj +python3-constantly +python3-cryptography +python3-cups +python3-cupshelpers +python3-dateutil +python3-dbus +python3-debconf +python3-debian +python3-defer +python3-distro +python3-distro-info +python3-distupgrade +python3-gdbm:amd64 +python3-gi +python3-idna +python3-importlib-metadata +python3-jinja2 +python3-json-pointer +python3-jsonpatch +python3-jsonschema +python3-jwt +python3-lib2to3 +python3-louis +python3-macaroonbakery +python3-mako +python3-markupsafe +python3-minimal +python3-nacl +python3-netifaces +python3-oauthlib +python3-pkg-resources +python3-problem-report +python3-pyasn1 +python3-pyasn1-modules +python3-pyparsing +python3-requests +python3-requests-unixsocket +python3-rfc3339 +python3-secretstorage +python3-serial +python3-simplejson +python3-six +python3-software-properties +python3-systemd +python3-tz +python3-urllib3 +python3-wadllib +python3-yaml +python3-zipp +python3.12 +python3.12-minimal +readline-common +rsync +rsyslog +run-one +sed +sensible-utils +sgml-base +snapd +sosreport +ssh-import-id +strace +sudo +systemd +systemd-sysv +systemd-timesyncd +sysvinit-utils +tar +tcpd +tcpdump +telnet +time +tmux +tzdata +ubuntu-advantage-tools +ubuntu-keyring +ubuntu-minimal +ubuntu-release-upgrader-core +ubuntu-server +ucf +udev +ufw +uidmap +unattended-upgrades +unzip +update-manager-core +update-notifier-common +usb-creator-common +usb-creator-gtk +usb-modeswitch +usb-modeswitch-data +usb.ids +usbutils +util-linux +uuid-runtime +vim +vim-common +vim-runtime +vim-tiny +wget +whiptail +wireless-regdb +wireless-tools +wpasupplicant +xauth +xdg-user-dirs +xfsprogs +xkb-data +xml-core +xz-utils +zerofree +zlib1g +zsh +zsh-common diff --git a/ubuntu-ruby/14.04/Dockerfile b/ubuntu-ruby/14.04/Dockerfile index 5ade189..301f285 100644 --- a/ubuntu-ruby/14.04/Dockerfile +++ b/ubuntu-ruby/14.04/Dockerfile @@ -7,7 +7,7 @@ RUN apt-get -yq install software-properties-common RUN add-apt-repository ppa:pdoes/ppa -y RUN add-apt-repository ppa:brightbox/ruby-ng -y RUN apt-get -yq update -RUN apt-get -yq install build-essential libncurses-dev git ruby2.4 libruby2.4 ruby2.4-dev rsync -RUN gem install bundler --no-ri --no-rdoc -RUN gem install fpm --no-ri --no-rdoc -RUN gem install pleaserun --no-ri --no-rdo +RUN apt-get -yq install build-essential libncurses-dev git ruby2.6 libruby2.6 ruby2.6-dev rsync +RUN gem install bundler --no-document +RUN gem install fpm --no-document +RUN gem install pleaserun --no-document diff --git a/ubuntu-ruby/16.04/Dockerfile b/ubuntu-ruby/16.04/Dockerfile index 42ed65a..540b049 100644 --- a/ubuntu-ruby/16.04/Dockerfile +++ b/ubuntu-ruby/16.04/Dockerfile @@ -7,7 +7,7 @@ RUN apt-get -yq install software-properties-common RUN add-apt-repository ppa:pdoes/ppa -y RUN add-apt-repository ppa:brightbox/ruby-ng -y RUN apt-get -yq update -RUN apt-get -yq install build-essential libncurses-dev git ruby2.4 libruby2.4 ruby2.4-dev rsync -RUN gem install bundler --no-ri --no-rdoc -RUN gem install fpm --no-ri --no-rdoc -RUN gem install pleaserun --no-ri --no-rdo +RUN apt-get -yq install build-essential libncurses-dev git ruby2.6 libruby2.6 ruby2.6-dev rsync +RUN gem install bundler --no-document +RUN gem install fpm --no-document +RUN gem install pleaserun --no-document diff --git a/ubuntu-ruby/18.04/Dockerfile b/ubuntu-ruby/18.04/Dockerfile index bd2506e..108d89b 100644 --- a/ubuntu-ruby/18.04/Dockerfile +++ b/ubuntu-ruby/18.04/Dockerfile @@ -7,7 +7,8 @@ RUN apt-get -yq install software-properties-common RUN add-apt-repository ppa:pdoes/ppa -y RUN add-apt-repository ppa:brightbox/ruby-ng -y RUN apt-get -yq update -RUN apt-get -yq install build-essential libncurses-dev git ruby2.4 libruby2.4 ruby2.4-dev rsync -RUN gem install bundler --no-ri --no-rdoc -RUN gem install fpm --no-ri --no-rdoc -RUN gem install pleaserun --no-ri --no-rdo +RUN apt-get -yq install build-essential libncurses-dev git ruby ruby-dev rsync +RUN gem install bundler -v 2.3.27 --no-document +RUN gem install dotenv -v 2.8.1 +RUN gem install fpm --no-document +RUN gem install pleaserun --no-document diff --git a/ubuntu-systemd/18.04/Dockerfile b/ubuntu-systemd/18.04/Dockerfile index 3802085..8223851 100644 --- a/ubuntu-systemd/18.04/Dockerfile +++ b/ubuntu-systemd/18.04/Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:18.04 RUN apt-get update -yqq RUN DEBIAN_FRONTEND=noninteractive apt-get install -yqq \ - --no-install-suggests --no-install-recommends apt-utils + --no-install-suggests --no-install-recommends apt-utils systemd-sysv libnss-systemd RUN DEBIAN_FRONTEND=noninteractive apt-get install -yqq \ --no-install-suggests --no-install-recommends systemd diff --git a/ubuntu-systemd/22.04/Dockerfile b/ubuntu-systemd/22.04/Dockerfile new file mode 100644 index 0000000..870e218 --- /dev/null +++ b/ubuntu-systemd/22.04/Dockerfile @@ -0,0 +1,25 @@ +# Adapted from https://github.com/solita/docker-systemd +FROM ubuntu:22.04 + +RUN apt-get update -yqq +RUN DEBIAN_FRONTEND=noninteractive apt-get install -yqq \ + --no-install-suggests --no-install-recommends apt-utils +RUN DEBIAN_FRONTEND=noninteractive apt-get install -yqq \ + --no-install-suggests --no-install-recommends systemd + +# Don't start any optional services except for the few we need. +RUN find /etc/systemd/system \ + /lib/systemd/system \ + -path '*.wants/*' \ + -not -name '*journald*' \ + -not -name '*systemd-tmpfiles*' \ + -not -name '*systemd-user-sessions*' \ + -exec rm \{} \; + +ENV container docker + +RUN systemctl set-default multi-user.target + +COPY container-setup /sbin/container-setup + +CMD ["/bin/bash", "-c", "exec /sbin/init --log-target=journal 3>&1"] diff --git a/ubuntu-systemd/22.04/container-setup b/ubuntu-systemd/22.04/container-setup new file mode 100755 index 0000000..27cde44 --- /dev/null +++ b/ubuntu-systemd/22.04/container-setup @@ -0,0 +1,28 @@ +#!/bin/sh +# Adapted from https://github.com/solita/docker-systemd +set -o errexit +set -o nounset + +main() { + if nsenter --mount=/host/proc/1/ns/mnt -- mount \ + | grep /sys/fs/cgroup/systemd >/dev/null 2>&1; then + echo 'The systemd cgroup hierarchy is already mounted at ' \ + '/sys/fs/cgroup/systemd.' + else + if [ -d /host/sys/fs/cgroup/systemd ]; then + echo 'The mount point for the systemd cgroup hierarchy already exists ' \ + 'at /sys/fs/cgroup/systemd.' + else + echo 'Creating the mount point for the systemd cgroup hierarchy at ' \ + '/sys/fs/cgroup/systemd.' + mkdir -p /host/sys/fs/cgroup/systemd + fi + + echo 'Mounting the systemd cgroup hierarchy.' + nsenter --mount=/host/proc/1/ns/mnt -- \ + mount -t cgroup cgroup -o none,name=systemd /sys/fs/cgroup/systemd + fi + echo 'Your Docker host is now configured for running systemd containers!' +} + +main "$@" diff --git a/ubuntu-systemd/24.04/Dockerfile b/ubuntu-systemd/24.04/Dockerfile new file mode 100644 index 0000000..46d41b4 --- /dev/null +++ b/ubuntu-systemd/24.04/Dockerfile @@ -0,0 +1,28 @@ +# Adapted from https://github.com/solita/docker-systemd +FROM ubuntu:24.04 + +# A workaround for Jammy/Noble issue with old, not updatable docker version for Xenial +RUN sed -i -e 's/^APT/# APT/' -e 's/^DPkg/# DPkg/' \ + /etc/apt/apt.conf.d/docker-clean +RUN apt update -yqq +RUN DEBIAN_FRONTEND=noninteractive apt-get install -yqq \ + --no-install-suggests --no-install-recommends apt-utils +RUN DEBIAN_FRONTEND=noninteractive apt-get install -yqq \ + --no-install-suggests --no-install-recommends systemd + +# Don't start any optional services except for the few we need. +RUN find /etc/systemd/system \ + /lib/systemd/system \ + -path '*.wants/*' \ + -not -name '*journald*' \ + -not -name '*systemd-tmpfiles*' \ + -not -name '*systemd-user-sessions*' \ + -exec rm \{} \; + +ENV container docker + +RUN systemctl set-default multi-user.target + +COPY container-setup /sbin/container-setup + +CMD ["/bin/bash", "-c", "exec /sbin/init --log-target=journal 3>&1"] diff --git a/ubuntu-systemd/24.04/container-setup b/ubuntu-systemd/24.04/container-setup new file mode 100644 index 0000000..27cde44 --- /dev/null +++ b/ubuntu-systemd/24.04/container-setup @@ -0,0 +1,28 @@ +#!/bin/sh +# Adapted from https://github.com/solita/docker-systemd +set -o errexit +set -o nounset + +main() { + if nsenter --mount=/host/proc/1/ns/mnt -- mount \ + | grep /sys/fs/cgroup/systemd >/dev/null 2>&1; then + echo 'The systemd cgroup hierarchy is already mounted at ' \ + '/sys/fs/cgroup/systemd.' + else + if [ -d /host/sys/fs/cgroup/systemd ]; then + echo 'The mount point for the systemd cgroup hierarchy already exists ' \ + 'at /sys/fs/cgroup/systemd.' + else + echo 'Creating the mount point for the systemd cgroup hierarchy at ' \ + '/sys/fs/cgroup/systemd.' + mkdir -p /host/sys/fs/cgroup/systemd + fi + + echo 'Mounting the systemd cgroup hierarchy.' + nsenter --mount=/host/proc/1/ns/mnt -- \ + mount -t cgroup cgroup -o none,name=systemd /sys/fs/cgroup/systemd + fi + echo 'Your Docker host is now configured for running systemd containers!' +} + +main "$@"