| 
									
										
										
										
											2022-11-23 19:27:27 +00:00
										 |  |  | # syntax=docker/dockerfile:1
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-26 20:35:29 +00:00
										 |  |  | FROM alpine:3.20 AS rootfs-stage
 | 
					
						
							| 
									
										
										
										
											2019-03-16 05:47:14 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | # environment
 | 
					
						
							| 
									
										
										
										
											2024-02-28 19:53:13 +00:00
										 |  |  | ENV REL=noble | 
					
						
							| 
									
										
										
										
											2019-03-16 05:47:14 +00:00
										 |  |  | ENV ARCH=amd64 | 
					
						
							| 
									
										
										
										
											2024-05-24 19:34:49 +00:00
										 |  |  | ENV TAG=oci-noble-24.04
 | 
					
						
							| 
									
										
										
										
											2022-05-24 16:56:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-16 05:47:14 +00:00
										 |  |  | # install packages
 | 
					
						
							|  |  |  | RUN \
 | 
					
						
							| 
									
										
										
										
											2022-05-24 16:56:03 +00:00
										 |  |  |   apk add --no-cache \
 | 
					
						
							|  |  |  |     bash \
 | 
					
						
							|  |  |  |     curl \
 | 
					
						
							| 
									
										
										
										
											2024-05-24 17:00:14 +00:00
										 |  |  |     git \
 | 
					
						
							| 
									
										
										
										
											2024-05-24 17:20:24 +00:00
										 |  |  |     jq \
 | 
					
						
							| 
									
										
										
										
											2022-05-24 16:56:03 +00:00
										 |  |  |     tzdata \
 | 
					
						
							|  |  |  |     xz
 | 
					
						
							| 
									
										
										
										
											2019-03-16 05:47:14 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | # grab base tarball
 | 
					
						
							|  |  |  | RUN \
 | 
					
						
							| 
									
										
										
										
											2024-05-24 17:00:14 +00:00
										 |  |  |   git clone --depth=1 https://git.launchpad.net/cloud-images/+oci/ubuntu-base -b ${TAG} /build && \
 | 
					
						
							| 
									
										
										
										
											2024-05-24 17:20:24 +00:00
										 |  |  |   cd /build/oci && \
 | 
					
						
							|  |  |  |   DIGEST=$(jq -r '.manifests[0].digest[7:]' < index.json) && \
 | 
					
						
							| 
									
										
										
										
											2024-05-24 17:00:14 +00:00
										 |  |  |   cd /build/oci/blobs/sha256 && \
 | 
					
						
							| 
									
										
										
										
											2024-05-24 17:20:24 +00:00
										 |  |  |   if jq -e '.layers // empty' < "${DIGEST}" >/dev/null 2>&1; then \
 | 
					
						
							|  |  |  |     TARBALL=$(jq -r '.layers[0].digest[7:]' < ${DIGEST}); \
 | 
					
						
							|  |  |  |   else \
 | 
					
						
							|  |  |  |     MULTIDIGEST=$(jq -r ".manifests[] | select(.platform.architecture == \"${ARCH}\") | .digest[7:]" < ${DIGEST}) && \
 | 
					
						
							|  |  |  |     TARBALL=$(jq -r '.layers[0].digest[7:]' < ${MULTIDIGEST}); \
 | 
					
						
							|  |  |  |   fi && \
 | 
					
						
							| 
									
										
										
										
											2022-05-24 16:56:03 +00:00
										 |  |  |   mkdir /root-out && \
 | 
					
						
							|  |  |  |   tar xf \
 | 
					
						
							| 
									
										
										
										
											2024-05-24 17:00:14 +00:00
										 |  |  |     ${TARBALL} -C \
 | 
					
						
							| 
									
										
										
										
											2022-12-10 16:49:42 +00:00
										 |  |  |     /root-out && \
 | 
					
						
							|  |  |  |   rm -rf \
 | 
					
						
							| 
									
										
										
										
											2024-05-24 17:00:14 +00:00
										 |  |  |     /root-out/var/log/* \
 | 
					
						
							|  |  |  |     /root-out/home/ubuntu \
 | 
					
						
							|  |  |  |     /root-out/root/{.ssh,.bashrc,.profile} \
 | 
					
						
							|  |  |  |     /build
 | 
					
						
							| 
									
										
										
										
											2022-05-24 16:56:03 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | # set version for s6 overlay
 | 
					
						
							| 
									
										
										
										
											2024-12-05 20:58:44 +00:00
										 |  |  | ARG S6_OVERLAY_VERSION="3.2.0.2"
 | 
					
						
							| 
									
										
										
										
											2022-05-24 16:56:03 +00:00
										 |  |  | ARG S6_OVERLAY_ARCH="x86_64"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # add s6 overlay
 | 
					
						
							|  |  |  | ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz /tmp
 | 
					
						
							|  |  |  | RUN tar -C /root-out -Jxpf /tmp/s6-overlay-noarch.tar.xz
 | 
					
						
							|  |  |  | ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${S6_OVERLAY_ARCH}.tar.xz /tmp
 | 
					
						
							|  |  |  | RUN tar -C /root-out -Jxpf /tmp/s6-overlay-${S6_OVERLAY_ARCH}.tar.xz
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # add s6 optional symlinks
 | 
					
						
							|  |  |  | ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-noarch.tar.xz /tmp
 | 
					
						
							| 
									
										
										
										
											2024-12-05 20:58:44 +00:00
										 |  |  | RUN tar -C /root-out -Jxpf /tmp/s6-overlay-symlinks-noarch.tar.xz && unlink /root-out/usr/bin/with-contenv
 | 
					
						
							| 
									
										
										
										
											2022-05-24 16:56:03 +00:00
										 |  |  | ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-arch.tar.xz /tmp
 | 
					
						
							|  |  |  | RUN tar -C /root-out -Jxpf /tmp/s6-overlay-symlinks-arch.tar.xz
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-16 05:47:14 +00:00
										 |  |  | # Runtime stage
 | 
					
						
							|  |  |  | FROM scratch
 | 
					
						
							|  |  |  | COPY --from=rootfs-stage /root-out/ /
 | 
					
						
							| 
									
										
										
										
											2019-05-20 22:41:39 +00:00
										 |  |  | ARG BUILD_DATE
 | 
					
						
							|  |  |  | ARG VERSION
 | 
					
						
							| 
									
										
										
										
											2022-10-05 17:01:03 +00:00
										 |  |  | ARG MODS_VERSION="v3"
 | 
					
						
							| 
									
										
										
										
											2023-05-16 09:44:58 +00:00
										 |  |  | ARG PKG_INST_VERSION="v1"
 | 
					
						
							| 
									
										
										
										
											2024-06-10 14:55:56 +00:00
										 |  |  | ARG LSIOWN_VERSION="v1"
 | 
					
						
							| 
									
										
										
										
											2024-12-05 20:58:44 +00:00
										 |  |  | ARG WITHCONTENV_VERSION="v1"
 | 
					
						
							| 
									
										
										
										
											2019-03-16 05:47:14 +00:00
										 |  |  | LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
 | 
					
						
							| 
									
										
										
										
											2019-11-14 16:17:16 +00:00
										 |  |  | LABEL maintainer="TheLamer"
 | 
					
						
							| 
									
										
										
										
											2016-07-01 02:46:36 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-26 20:35:29 +00:00
										 |  |  | ADD --chmod=755 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/docker-mods.${MODS_VERSION}" "/docker-mods"
 | 
					
						
							|  |  |  | ADD --chmod=755 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/package-install.${PKG_INST_VERSION}" "/etc/s6-overlay/s6-rc.d/init-mods-package-install/run"
 | 
					
						
							|  |  |  | ADD --chmod=755 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/lsiown.${LSIOWN_VERSION}" "/usr/bin/lsiown"
 | 
					
						
							| 
									
										
										
										
											2024-12-05 20:58:44 +00:00
										 |  |  | ADD --chmod=755 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/with-contenv.${WITHCONTENV_VERSION}" "/usr/bin/with-contenv"
 | 
					
						
							| 
									
										
										
										
											2022-10-05 17:01:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-16 05:47:14 +00:00
										 |  |  | # set environment variables
 | 
					
						
							| 
									
										
										
										
											2016-10-07 00:26:16 +00:00
										 |  |  | ARG DEBIAN_FRONTEND="noninteractive"
 | 
					
						
							|  |  |  | ENV HOME="/root" \
 | 
					
						
							| 
									
										
										
										
											2023-05-15 20:26:46 +00:00
										 |  |  |   LANGUAGE="en_US.UTF-8" \
 | 
					
						
							|  |  |  |   LANG="en_US.UTF-8" \
 | 
					
						
							|  |  |  |   TERM="xterm" \
 | 
					
						
							|  |  |  |   S6_CMD_WAIT_FOR_SERVICES_MAXTIME="0" \
 | 
					
						
							|  |  |  |   S6_VERBOSITY=1 \
 | 
					
						
							|  |  |  |   S6_STAGE2_HOOK=/docker-mods \
 | 
					
						
							|  |  |  |   VIRTUAL_ENV=/lsiopy \
 | 
					
						
							|  |  |  |   PATH="/lsiopy/bin:$PATH"
 | 
					
						
							| 
									
										
										
										
											2017-03-15 00:40:48 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-16 05:47:14 +00:00
										 |  |  | # copy sources
 | 
					
						
							| 
									
										
										
										
											2016-09-04 12:52:26 +00:00
										 |  |  | COPY sources.list /etc/apt/
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-01 02:46:36 +00:00
										 |  |  | RUN \
 | 
					
						
							| 
									
										
										
										
											2022-05-24 16:56:03 +00:00
										 |  |  |   echo "**** Ripped from Ubuntu Docker Logic ****" && \
 | 
					
						
							| 
									
										
										
										
											2024-02-28 19:53:13 +00:00
										 |  |  |   rm -f /etc/apt/sources.list.d/ubuntu.sources && \
 | 
					
						
							| 
									
										
										
										
											2022-05-24 16:56:03 +00:00
										 |  |  |   set -xe && \
 | 
					
						
							|  |  |  |   echo '#!/bin/sh' \
 | 
					
						
							|  |  |  |     > /usr/sbin/policy-rc.d && \
 | 
					
						
							|  |  |  |   echo 'exit 101' \
 | 
					
						
							|  |  |  |     >> /usr/sbin/policy-rc.d && \
 | 
					
						
							|  |  |  |   chmod +x \
 | 
					
						
							|  |  |  |     /usr/sbin/policy-rc.d && \
 | 
					
						
							|  |  |  |   dpkg-divert --local --rename --add /sbin/initctl && \
 | 
					
						
							|  |  |  |   cp -a \
 | 
					
						
							|  |  |  |     /usr/sbin/policy-rc.d \
 | 
					
						
							|  |  |  |     /sbin/initctl && \
 | 
					
						
							|  |  |  |   sed -i \
 | 
					
						
							|  |  |  |     's/^exit.*/exit 0/' \
 | 
					
						
							|  |  |  |     /sbin/initctl && \
 | 
					
						
							|  |  |  |   echo 'force-unsafe-io' \
 | 
					
						
							|  |  |  |     > /etc/dpkg/dpkg.cfg.d/docker-apt-speedup && \
 | 
					
						
							|  |  |  |   echo 'DPkg::Post-Invoke { "rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true"; };' \
 | 
					
						
							|  |  |  |     > /etc/apt/apt.conf.d/docker-clean && \
 | 
					
						
							|  |  |  |   echo 'APT::Update::Post-Invoke { "rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true"; };' \
 | 
					
						
							|  |  |  |     >> /etc/apt/apt.conf.d/docker-clean && \
 | 
					
						
							|  |  |  |   echo 'Dir::Cache::pkgcache ""; Dir::Cache::srcpkgcache "";' \
 | 
					
						
							|  |  |  |     >> /etc/apt/apt.conf.d/docker-clean && \
 | 
					
						
							|  |  |  |   echo 'Acquire::Languages "none";' \
 | 
					
						
							|  |  |  |     > /etc/apt/apt.conf.d/docker-no-languages && \
 | 
					
						
							|  |  |  |   echo 'Acquire::GzipIndexes "true"; Acquire::CompressionTypes::Order:: "gz";' \
 | 
					
						
							|  |  |  |     > /etc/apt/apt.conf.d/docker-gzip-indexes && \
 | 
					
						
							|  |  |  |   echo 'Apt::AutoRemove::SuggestsImportant "false";' \
 | 
					
						
							|  |  |  |     > /etc/apt/apt.conf.d/docker-autoremove-suggests && \
 | 
					
						
							|  |  |  |   mkdir -p /run/systemd && \
 | 
					
						
							|  |  |  |   echo 'docker' \
 | 
					
						
							|  |  |  |     > /run/systemd/container && \
 | 
					
						
							|  |  |  |   echo "**** install apt-utils and locales ****" && \
 | 
					
						
							|  |  |  |   apt-get update && \
 | 
					
						
							| 
									
										
										
										
											2024-03-19 15:04:14 +00:00
										 |  |  |   apt-get upgrade -y && \
 | 
					
						
							| 
									
										
										
										
											2022-05-24 16:56:03 +00:00
										 |  |  |   apt-get install -y \
 | 
					
						
							|  |  |  |     apt-utils \
 | 
					
						
							|  |  |  |     locales && \
 | 
					
						
							|  |  |  |   echo "**** install packages ****" && \
 | 
					
						
							|  |  |  |   apt-get install -y \
 | 
					
						
							| 
									
										
										
										
											2024-05-06 18:34:39 +00:00
										 |  |  |     catatonit \
 | 
					
						
							| 
									
										
										
										
											2023-07-30 06:07:22 +00:00
										 |  |  |     cron \
 | 
					
						
							| 
									
										
										
										
											2022-05-24 16:56:03 +00:00
										 |  |  |     curl \
 | 
					
						
							|  |  |  |     gnupg \
 | 
					
						
							| 
									
										
										
										
											2022-10-05 17:01:03 +00:00
										 |  |  |     jq \
 | 
					
						
							| 
									
										
										
										
											2024-02-28 19:53:13 +00:00
										 |  |  |     netcat-openbsd \
 | 
					
						
							| 
									
										
										
										
											2024-05-27 17:46:28 +00:00
										 |  |  |     systemd-standalone-sysusers \
 | 
					
						
							| 
									
										
										
										
											2022-05-24 16:56:03 +00:00
										 |  |  |     tzdata && \
 | 
					
						
							|  |  |  |   echo "**** generate locale ****" && \
 | 
					
						
							|  |  |  |   locale-gen en_US.UTF-8 && \
 | 
					
						
							|  |  |  |   echo "**** create abc user and make our folders ****" && \
 | 
					
						
							|  |  |  |   useradd -u 911 -U -d /config -s /bin/false abc && \
 | 
					
						
							|  |  |  |   usermod -G users abc && \
 | 
					
						
							|  |  |  |   mkdir -p \
 | 
					
						
							|  |  |  |     /app \
 | 
					
						
							|  |  |  |     /config \
 | 
					
						
							| 
									
										
										
										
											2023-05-15 20:26:46 +00:00
										 |  |  |     /defaults \
 | 
					
						
							|  |  |  |     /lsiopy && \
 | 
					
						
							| 
									
										
										
										
											2022-05-24 16:56:03 +00:00
										 |  |  |   echo "**** cleanup ****" && \
 | 
					
						
							| 
									
										
										
										
											2024-05-24 17:00:14 +00:00
										 |  |  |   userdel ubuntu && \
 | 
					
						
							| 
									
										
										
										
											2022-05-24 16:56:03 +00:00
										 |  |  |   apt-get autoremove && \
 | 
					
						
							|  |  |  |   apt-get clean && \
 | 
					
						
							|  |  |  |   rm -rf \
 | 
					
						
							|  |  |  |     /tmp/* \
 | 
					
						
							|  |  |  |     /var/lib/apt/lists/* \
 | 
					
						
							|  |  |  |     /var/tmp/* \
 | 
					
						
							|  |  |  |     /var/log/*
 | 
					
						
							| 
									
										
										
										
											2016-07-01 02:46:36 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | # add local files
 | 
					
						
							|  |  |  | COPY root/ /
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ENTRYPOINT ["/init"]
 |