11# syntax=docker/dockerfile:1
22
3- FROM alpine:3 as rootfs-stage
3+ FROM gabemendoza1/cloudcode-baseimage-ubuntu-fips:jammy-22.04
44
5- # environment
6- ENV REL=jammy
7- ENV ARCH=amd64
8-
9- # install packages
10- RUN \
11- apk add --no-cache \
12- bash \
13- curl \
14- tzdata \
15- xz
16-
17- # grab base tarball
18- RUN \
19- mkdir /root-out && \
20- curl -o \
21- /rootfs.tar.gz -L \
22- https://partner-images.canonical.com/core/${REL}/current/ubuntu-${REL}-core-cloudimg-${ARCH}-root.tar.gz && \
23- tar xf \
24- /rootfs.tar.gz -C \
25- /root-out && \
26- rm -rf \
27- /root-out/var/log/*
28-
29- # set version for s6 overlay
30- ARG S6_OVERLAY_VERSION="3.1.6.2"
31- ARG S6_OVERLAY_ARCH="x86_64"
32-
33- # add s6 overlay
34- ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz /tmp
35- RUN tar -C /root-out -Jxpf /tmp/s6-overlay-noarch.tar.xz
36- ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${S6_OVERLAY_ARCH}.tar.xz /tmp
37- RUN tar -C /root-out -Jxpf /tmp/s6-overlay-${S6_OVERLAY_ARCH}.tar.xz
38-
39- # add s6 optional symlinks
40- ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-noarch.tar.xz /tmp
41- RUN tar -C /root-out -Jxpf /tmp/s6-overlay-symlinks-noarch.tar.xz
42- ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-arch.tar.xz /tmp
43- RUN tar -C /root-out -Jxpf /tmp/s6-overlay-symlinks-arch.tar.xz
44-
45- # Runtime stage
46- FROM scratch
47- COPY --from=rootfs-stage /root-out/ /
5+ # set version labels
486ARG BUILD_DATE
497ARG VERSION
508ARG MODS_VERSION="v3"
519ARG PKG_INST_VERSION="v1"
5210ARG LSIOWN_VERSION="v1"
11+ ARG S6_OVERLAY_VERSION="3.1.6.2"
12+ ARG S6_OVERLAY_ARCH="x86_64"
13+
5314LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
54- LABEL maintainer="TheLamer "
15+ LABEL maintainer="civisanalytics "
5516
56- ADD --chmod=744 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/docker-mods.${MODS_VERSION}" "/docker-mods"
57- ADD --chmod=744 "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"
58- ADD --chmod=744 "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/lsiown.${LSIOWN_VERSION}" "/usr/bin/lsiown"
17+ # add s6 overlay
18+ RUN \
19+ echo "**** add s6 overlay ****" && \
20+ curl -o /tmp/s6-overlay-noarch.tar.xz -L \
21+ "https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz" && \
22+ tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz && \
23+ curl -o /tmp/s6-overlay-arch.tar.xz -L \
24+ "https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${S6_OVERLAY_ARCH}.tar.xz" && \
25+ tar -C / -Jxpf /tmp/s6-overlay-arch.tar.xz && \
26+ curl -o /tmp/s6-overlay-symlinks-noarch.tar.xz -L \
27+ "https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-noarch.tar.xz" && \
28+ tar -C / -Jxpf /tmp/s6-overlay-symlinks-noarch.tar.xz && \
29+ curl -o /tmp/s6-overlay-symlinks-arch.tar.xz -L \
30+ "https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-arch.tar.xz" && \
31+ tar -C / -Jxpf /tmp/s6-overlay-symlinks-arch.tar.xz && \
32+ rm -rf /tmp/s6-overlay*.tar.xz
33+
34+ # add LinuxServer.io mod scripts
35+ RUN \
36+ echo "**** add LinuxServer.io mod scripts ****" && \
37+ curl -o /docker-mods -L \
38+ "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/docker-mods.${MODS_VERSION}" && \
39+ chmod +x /docker-mods && \
40+ mkdir -p /etc/s6-overlay/s6-rc.d/init-mods-package-install && \
41+ curl -o /etc/s6-overlay/s6-rc.d/init-mods-package-install/run -L \
42+ "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/package-install.${PKG_INST_VERSION}" && \
43+ chmod +x /etc/s6-overlay/s6-rc.d/init-mods-package-install/run && \
44+ curl -o /usr/bin/lsiown -L \
45+ "https://raw.githubusercontent.com/linuxserver/docker-mods/mod-scripts/lsiown.${LSIOWN_VERSION}" && \
46+ chmod +x /usr/bin/lsiown
5947
6048# set environment variables
6149ARG DEBIAN_FRONTEND="noninteractive"
@@ -69,69 +57,20 @@ ENV HOME="/root" \
6957 VIRTUAL_ENV=/lsiopy \
7058 PATH="/lsiopy/bin:$PATH"
7159
72- # copy sources
73- COPY sources.list /etc/apt/
74-
7560RUN \
76- echo "**** Ripped from Ubuntu Docker Logic ****" && \
77- set -xe && \
78- echo '#!/bin/sh' \
79- > /usr/sbin/policy-rc.d && \
80- echo 'exit 101' \
81- >> /usr/sbin/policy-rc.d && \
82- chmod +x \
83- /usr/sbin/policy-rc.d && \
84- dpkg-divert --local --rename --add /sbin/initctl && \
85- cp -a \
86- /usr/sbin/policy-rc.d \
87- /sbin/initctl && \
88- sed -i \
89- 's/^exit.*/exit 0/' \
90- /sbin/initctl && \
91- echo 'force-unsafe-io' \
92- > /etc/dpkg/dpkg.cfg.d/docker-apt-speedup && \
93- echo 'DPkg::Post-Invoke { "rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true"; };' \
94- > /etc/apt/apt.conf.d/docker-clean && \
95- echo 'APT::Update::Post-Invoke { "rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true"; };' \
96- >> /etc/apt/apt.conf.d/docker-clean && \
97- echo 'Dir::Cache::pkgcache ""; Dir::Cache::srcpkgcache "";' \
98- >> /etc/apt/apt.conf.d/docker-clean && \
99- echo 'Acquire::Languages "none";' \
100- > /etc/apt/apt.conf.d/docker-no-languages && \
101- echo 'Acquire::GzipIndexes "true"; Acquire::CompressionTypes::Order:: "gz";' \
102- > /etc/apt/apt.conf.d/docker-gzip-indexes && \
103- echo 'Apt::AutoRemove::SuggestsImportant "false";' \
104- > /etc/apt/apt.conf.d/docker-autoremove-suggests && \
105- mkdir -p /run/systemd && \
106- echo 'docker' \
107- > /run/systemd/container && \
108- echo "**** install apt-utils and locales ****" && \
109- apt-get update && \
110- apt-get upgrade -y && \
111- apt-get install -y \
112- apt-utils \
113- locales && \
114- echo "**** install packages ****" && \
115- apt-get install -y \
116- catatonit \
117- cron \
118- curl \
119- gnupg \
120- jq \
121- netcat \
122- tzdata && \
123- echo "**** generate locale ****" && \
124- locale-gen en_US.UTF-8 && \
125- echo "**** create abc user and make our folders ****" && \
126- useradd -u 911 -U -d /config -s /bin/false abc && \
127- usermod -G users abc && \
61+ echo "**** setup LinuxServer.io environment ****" && \
62+ echo "**** create abc user and folders (if not exists) ****" && \
63+ if ! id abc >/dev/null 2>&1; then \
64+ useradd -u 911 -U -d /config -s /bin/false abc && \
65+ usermod -G users abc; \
66+ fi && \
12867 mkdir -p \
12968 /app \
13069 /config \
13170 /defaults \
13271 /lsiopy && \
13372 echo "**** cleanup ****" && \
134- apt-get autoremove && \
73+ apt-get autoremove -y && \
13574 apt-get clean && \
13675 rm -rf \
13776 /tmp/* \
0 commit comments