chore(containers): BREAKING CHAINGE remove ubuntu (#28041)
**Description** In favor of standardizing around Alpine where we can. **⚙️ Type of change** - [x] ⚙️ Feature/App addition - [ ] 🪛 Bugfix - [x] ⚠️ Breaking change (fix or feature that would cause existing functionality to not work as expected) - [x] 🔃 Refactor of current code **🧪 How Has This Been Tested?** <!-- Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration --> **📃 Notes:** <!-- Please enter any other relevant information here --> **✔️ Checklist:** - [ ] ⚖️ My code follows the style guidelines of this project - [ ] 👀 I have performed a self-review of my own code - [ ] #️⃣ I have commented my code, particularly in hard-to-understand areas - [ ] 📄 I have made corresponding changes to the documentation - [ ] ⚠️ My changes generate no new warnings - [ ] 🧪 I have added tests to this description that prove my fix is effective or that my feature works - [ ] ⬆️ I increased versions for any altered app according to semantic versioning - [ ] I made sure the title starts with `feat(chart-name):`, `fix(chart-name):` or `chore(chart-name):` **➕ App addition** If this PR is an app addition please make sure you have done the following. - [ ] 🖼️ I have added an icon in the Chart's root directory called `icon.png` --- _Please don't blindly check all the boxes. Read them and only check those that apply. Those checkboxes are there for the reviewer to see what is this all about and the status of this PR with a quick glance._
This commit is contained in:
@@ -1,35 +1,30 @@
|
||||
# hadolint ignore=DL3007
|
||||
FROM ghcr.io/truecharts/ubuntu:latest@sha256:cbe66cbca1ddd2a82093675067c363af8bbc6713b645bc77cb1706578a01facd
|
||||
FROM tccr.io/tccr/alpine:latest
|
||||
|
||||
ARG TARGETPLATFORM
|
||||
ARG VERSION
|
||||
|
||||
USER root
|
||||
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||
SHELL ["/bin/sh", "-o", "pipefail", "-c"]
|
||||
|
||||
# hadolint ignore=DL3008,DL3015,SC2086,SC2155
|
||||
RUN \
|
||||
apt-get -qq update \
|
||||
&& \
|
||||
apt-get -qq install -y \
|
||||
apk update && \
|
||||
apk --no-cache add \
|
||||
mariadb-client \
|
||||
&& \
|
||||
case "${TARGETPLATFORM}" in \
|
||||
'linux/amd64') export ARCH='linux-x64' ;; \
|
||||
esac \
|
||||
&& apt-get remove -y \
|
||||
&& apk del \
|
||||
jq \
|
||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||
&& apt-get autoremove -y \
|
||||
&& apt-get clean \
|
||||
&& \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/ \
|
||||
/var/cache/apk/* \
|
||||
&& chmod -R u=rwX,go=rX /app \
|
||||
&& printf "umask %d" "${UMASK}" >> /etc/bash.bashrc \
|
||||
&& printf "umask %d" "${UMASK}" >> /etc/profile \
|
||||
&& update-ca-certificates
|
||||
|
||||
USER apps
|
||||
|
||||
@@ -1,44 +1,35 @@
|
||||
# hadolint ignore=DL3007
|
||||
FROM ghcr.io/truecharts/ubuntu:latest@sha256:cbe66cbca1ddd2a82093675067c363af8bbc6713b645bc77cb1706578a01facd
|
||||
FROM tccr.io/tccr/alpine:latest
|
||||
|
||||
ARG TARGETPLATFORM
|
||||
ARG VERSION
|
||||
|
||||
USER root
|
||||
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||
SHELL ["/bin/sh", "-o", "pipefail", "-c"]
|
||||
|
||||
# hadolint ignore=DL3008,DL3015,SC2086,SC2155,DL4001
|
||||
RUN \
|
||||
curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg \
|
||||
&& \
|
||||
echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | tee /etc/apt/sources.list.d/kubernetes.list \
|
||||
&& \
|
||||
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | apt-key add - \
|
||||
&& \
|
||||
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-6.0.list \
|
||||
&& \
|
||||
apk update && \
|
||||
apk add --no-cache \
|
||||
curl \
|
||||
ca-certificates \
|
||||
gnupg \
|
||||
bash && \
|
||||
curl -fsSLo /etc/apk/keys/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg && \
|
||||
echo "https://dl-cdn.alpinelinux.org/alpine/v3.16/community" >> /etc/apk/repositories && \
|
||||
curl -fsSL https://downloads.mongodb.com/compass/mongosh-1.8.0-linux-x64.tgz -o /tmp/mongosh.tgz && \
|
||||
tar -xvzf /tmp/mongosh.tgz -C /tmp && \
|
||||
mv /tmp/mongosh*/bin/mongosh /usr/local/bin/ && \
|
||||
chmod +x /usr/local/bin/mongosh && \
|
||||
apk del gnupg && \
|
||||
case "${TARGETPLATFORM}" in \
|
||||
'linux/amd64') export ARCH='linux-x64' ;; \
|
||||
esac \
|
||||
&& \
|
||||
apt-get -qq update \
|
||||
&& \
|
||||
apt-get -qq install -y \
|
||||
mongodb-mongosh \
|
||||
&& apt-get remove -y \
|
||||
jq \
|
||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||
&& apt-get autoremove -y \
|
||||
&& apt-get clean \
|
||||
&& \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/ \
|
||||
&& chmod -R u=rwX,go=rX /app \
|
||||
&& printf "umask %d" "${UMASK}" >> /etc/bash.bashrc \
|
||||
&& update-ca-certificates
|
||||
esac && \
|
||||
rm -rf /tmp/* /var/cache/apk/* && \
|
||||
chmod -R u=rwX,go=rX /app && \
|
||||
printf "umask %d" "${UMASK}" >> /etc/profile && \
|
||||
update-ca-certificates
|
||||
|
||||
USER apps
|
||||
|
||||
|
||||
@@ -1,36 +1,26 @@
|
||||
# hadolint ignore=DL3007
|
||||
FROM ghcr.io/truecharts/ubuntu:latest@sha256:cbe66cbca1ddd2a82093675067c363af8bbc6713b645bc77cb1706578a01facd
|
||||
FROM tccr.io/tccr/alpine:latest
|
||||
|
||||
ARG TARGETPLATFORM
|
||||
ARG VERSION
|
||||
|
||||
USER root
|
||||
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||
SHELL ["/bin/sh", "-o", "pipefail", "-c"]
|
||||
|
||||
# hadolint ignore=DL3008,DL3015,SC2086,SC2155
|
||||
RUN \
|
||||
apt-get -qq update \
|
||||
&& \
|
||||
apt-get -qq install -y \
|
||||
postgresql-client \
|
||||
&& \
|
||||
apk update && \
|
||||
apk --no-cache update && \
|
||||
apk --no-cache add \
|
||||
postgresql-client && \
|
||||
case "${TARGETPLATFORM}" in \
|
||||
'linux/amd64') export ARCH='linux-x64' ;; \
|
||||
esac \
|
||||
&& apt-get remove -y \
|
||||
jq \
|
||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||
&& apt-get autoremove -y \
|
||||
&& apt-get clean \
|
||||
&& \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/ \
|
||||
&& chmod -R u=rwX,go=rX /app \
|
||||
&& printf "umask %d" "${UMASK}" >> /etc/bash.bashrc \
|
||||
&& update-ca-certificates
|
||||
esac && \
|
||||
apk del --no-cache jq && \
|
||||
rm -rf /var/cache/apk/* /tmp/* /var/tmp/* && \
|
||||
chmod -R u=rwX,go=rX /app && \
|
||||
printf "umask %d" "${UMASK}" >> /etc/profile
|
||||
|
||||
USER apps
|
||||
|
||||
|
||||
@@ -1,36 +1,29 @@
|
||||
# hadolint ignore=DL3007
|
||||
FROM ghcr.io/truecharts/ubuntu:latest@sha256:cbe66cbca1ddd2a82093675067c363af8bbc6713b645bc77cb1706578a01facd
|
||||
FROM tccr.io/tccr/alpine:latest
|
||||
|
||||
ARG TARGETPLATFORM
|
||||
ARG VERSION
|
||||
|
||||
USER root
|
||||
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||
SHELL ["/bin/ash", "-o", "pipefail", "-c"]
|
||||
|
||||
# hadolint ignore=DL3008,DL3015,SC2086,SC2155
|
||||
RUN \
|
||||
apt-get -qq update \
|
||||
&& \
|
||||
apt-get -qq install -y \
|
||||
redis-server \
|
||||
&& \
|
||||
apk update && \
|
||||
apk update && \
|
||||
apk add --no-cache \
|
||||
redis \
|
||||
bash && \
|
||||
case "${TARGETPLATFORM}" in \
|
||||
'linux/amd64') export ARCH='linux-x64' ;; \
|
||||
esac \
|
||||
&& apt-get remove -y \
|
||||
jq \
|
||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||
&& apt-get autoremove -y \
|
||||
&& apt-get clean \
|
||||
&& \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/ \
|
||||
&& chmod -R u=rwX,go=rX /app \
|
||||
&& printf "umask %d" "${UMASK}" >> /etc/bash.bashrc \
|
||||
&& update-ca-certificates
|
||||
esac && \
|
||||
apk del \
|
||||
jq && \
|
||||
rm -rf /var/cache/apk/* && \
|
||||
chmod -R u=rwX,go=rX /app && \
|
||||
printf "umask %d" "${UMASK}" >> /etc/profile && \
|
||||
update-ca-certificates
|
||||
|
||||
USER apps
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
jammy
|
||||
@@ -1,27 +0,0 @@
|
||||
ARG TARGETPLATFORM
|
||||
ARG VERSION
|
||||
# hadolint ignore=DL3007
|
||||
FROM freeradius/freeradius-server:${VERSION}
|
||||
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||
|
||||
# hadolint ignore=DL3008,DL3015,SC2086,SC2155
|
||||
RUN \
|
||||
rm /docker-entrypoint.sh && \
|
||||
rm -Rf /etc/raddb
|
||||
|
||||
VOLUME /etc/raddb
|
||||
COPY ./containers/apps/freeradius/entrypoint.sh /docker-entrypoint.sh
|
||||
|
||||
LABEL "maintainer"="TrueCharts <info@truecharts.org>"
|
||||
LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps"
|
||||
|
||||
ARG CONTAINER_NAME
|
||||
ARG CONTAINER_VER
|
||||
LABEL org.opencontainers.image.licenses="BSD-3-Clause"
|
||||
LABEL org.opencontainers.image.title="${CONTAINER_NAME}"
|
||||
LABEL org.opencontainers.image.url="https://truecharts.org/docs/charts/${CONTAINER_NAME}"
|
||||
LABEL org.opencontainers.image.version="${CONTAINER_VER}"
|
||||
LABEL org.opencontainers.image.description="Container for ${CONTAINER_NAME} by TrueCharts"
|
||||
LABEL org.opencontainers.image.authors="TrueCharts"
|
||||
LABEL org.opencontainers.image.documentation="https://truecharts.org/docs/charts/${CONTAINER_NAME}"
|
||||
@@ -1,33 +0,0 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
if [ -f "/etc/raddb/clients.conf" ]; then
|
||||
echo "Radius config already exists, skipping config copy..."
|
||||
else
|
||||
echo "Radius config does not exist, copying..."
|
||||
cp -Rf /etc/freeradius/* /etc/raddb/
|
||||
fi
|
||||
|
||||
chown -R freerad:freerad /etc/raddb/
|
||||
|
||||
# this if will check if the first argument is a flag
|
||||
# but only works if all arguments require a hyphenated flag
|
||||
# -v; -SL; -f arg; etc will work, but not arg1 arg2
|
||||
if [ "$#" -eq 0 ] || [ "${1#-}" != "$1" ]; then
|
||||
set -- freeradius -d /etc/raddb "$@"
|
||||
fi
|
||||
|
||||
# check for the expected command
|
||||
if [ "$1" = 'freeradius' ]; then
|
||||
shift
|
||||
exec freeradius -f -d /etc/raddb "$@"
|
||||
fi
|
||||
|
||||
# many people are likely to call "radiusd" as well, so allow that
|
||||
if [ "$1" = 'radiusd' ]; then
|
||||
shift
|
||||
exec freeradius -f -d /etc/raddb "$@"
|
||||
fi
|
||||
|
||||
# else default to run whatever the user wanted like "bash" or "sh"
|
||||
exec "$@"
|
||||
@@ -1,4 +0,0 @@
|
||||
---
|
||||
port:
|
||||
udp:1812:
|
||||
listening: true
|
||||
@@ -1,2 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
cat "./base/ubuntu/VERSION"
|
||||
@@ -1,6 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
version=$(curl "https://registry.hub.docker.com/v1/repositories/freeradius/freeradius-server/tags" | jq --raw-output '.[].name' | grep -v layer | grep -v alpine | grep -v latest | tail -n1)
|
||||
version="${version#*v}"
|
||||
version="${version#*release-}"
|
||||
echo "${version}"
|
||||
@@ -1,59 +0,0 @@
|
||||
# hadolint ignore=DL3007
|
||||
FROM ghcr.io/truecharts/ubuntu:latest@sha256:cbe66cbca1ddd2a82093675067c363af8bbc6713b645bc77cb1706578a01facd
|
||||
|
||||
ARG TARGETPLATFORM
|
||||
ARG VERSION
|
||||
|
||||
USER root
|
||||
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||
|
||||
# hadolint ignore=DL3008,DL3015,SC2086,SC2155
|
||||
RUN \
|
||||
apt-get -qq update \
|
||||
&& \
|
||||
case "${TARGETPLATFORM}" in \
|
||||
'linux/amd64') export ARCH='linux-x64' ;; \
|
||||
esac \
|
||||
&& \
|
||||
export URL=$(curl -sX GET https://api.github.com/repos/Ombi-app/Ombi/releases | \
|
||||
jq -r '.[] | select(.tag_name | contains(env.VERSION)) | .assets[] | select(.browser_download_url | contains(env.ARCH)) | .browser_download_url') \
|
||||
&& curl -fsSL -o /tmp/ombi.tgz "${URL}" \
|
||||
&& tar ixzf /tmp/ombi.tgz -C /app \
|
||||
&& \
|
||||
rm -rf \
|
||||
/tmp/ombi.tgz \
|
||||
&& printf "UpdateMethod=docker\nPackageVersion=%s\nPackageAuthor=[TrueCharts Project](https://truecharts.org)" "${VERSION}" > /app/package_info \
|
||||
&& apt-get remove -y \
|
||||
jq \
|
||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||
&& apt-get autoremove -y \
|
||||
&& apt-get clean \
|
||||
&& \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/ \
|
||||
&& chmod -R u=rwX,go=rX /app \
|
||||
&& printf "umask %d" "${UMASK}" >> /etc/bash.bashrc \
|
||||
&& update-ca-certificates
|
||||
|
||||
USER apps
|
||||
|
||||
EXPOSE 3579
|
||||
|
||||
COPY ./containers/apps/ombi/entrypoint.sh /entrypoint.sh
|
||||
CMD ["/entrypoint.sh"]
|
||||
|
||||
LABEL "maintainer"="TrueCharts <info@truecharts.org>"
|
||||
LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps"
|
||||
|
||||
ARG CONTAINER_NAME
|
||||
ARG CONTAINER_VER
|
||||
LABEL org.opencontainers.image.licenses="BSD-3-Clause"
|
||||
LABEL org.opencontainers.image.title="${CONTAINER_NAME}"
|
||||
LABEL org.opencontainers.image.url="https://truecharts.org/docs/charts/${CONTAINER_NAME}"
|
||||
LABEL org.opencontainers.image.version="${CONTAINER_VER}"
|
||||
LABEL org.opencontainers.image.description="Container for ${CONTAINER_NAME} by TrueCharts"
|
||||
LABEL org.opencontainers.image.authors="TrueCharts"
|
||||
LABEL org.opencontainers.image.documentation="https://truecharts.org/docs/charts/${CONTAINER_NAME}"
|
||||
@@ -1 +0,0 @@
|
||||
4.46.4
|
||||
@@ -1,7 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
#shellcheck disable=SC1091
|
||||
source "/shim/umask.sh"
|
||||
source "/shim/vpn.sh"
|
||||
|
||||
exec /app/Ombi --host http://0.0.0.0:3579 --storage /config ${EXTRA_ARGS}
|
||||
@@ -1,6 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
version=$(curl -sX GET "https://api.github.com/repos/Ombi-app/Ombi/releases" | jq --raw-output '.[0].tag_name')
|
||||
version="${version#*v}"
|
||||
version="${version#*release-}"
|
||||
printf "%s" "${version}"
|
||||
@@ -14,7 +14,7 @@ WORKDIR /app
|
||||
|
||||
# hadolint ignore=DL3018
|
||||
RUN \
|
||||
apk update && apk add --no-cache ca-certificates bash util-linux coreutils grep procps \
|
||||
apk update && apk add --no-cache jq nano ca-certificates bash util-linux coreutils grep procps \
|
||||
&& addgroup apps -g 568 \
|
||||
&& adduser apps -u 568 -g 568 -D -S -H \
|
||||
&& mkdir -p /config \
|
||||
@@ -28,8 +28,8 @@ VOLUME [ "/config" ]
|
||||
|
||||
USER apps
|
||||
|
||||
COPY ./containers/base/ubuntu/entrypoint.sh /entrypoint.sh
|
||||
COPY ./containers/base/ubuntu/shim /etc/profile.d
|
||||
COPY ./containers/base/alpine/entrypoint.sh /entrypoint.sh
|
||||
COPY ./containers/base/alpine/shim /etc/profile.d
|
||||
|
||||
ENTRYPOINT ["/bin/ash", "--"]
|
||||
|
||||
|
||||
@@ -1,132 +0,0 @@
|
||||
FROM ubuntu:noble@sha256:d4f6f70979d0758d7a6f81e34a61195677f4f4fa576eaf808b79f17499fd93d1
|
||||
|
||||
ARG TARGETPLATFORM
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||
|
||||
# hadolint ignore=DL3002
|
||||
USER root
|
||||
|
||||
ARG CHANNEL
|
||||
ARG TARGETPLATFORM
|
||||
ENV TARGETPLATFORM=${TARGETPLATFORM:-linux/amd64}
|
||||
|
||||
# DEBIAN_FRONTEND: https://askubuntu.com/questions/972516/debian-frontend-environment-variable
|
||||
# APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE: http://stackoverflow.com/questions/48162574/ddg#49462622
|
||||
ENV \
|
||||
DEBCONF_NONINTERACTIVE_SEEN=true \
|
||||
DEBIAN_FRONTEND="noninteractive" \
|
||||
APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn \
|
||||
UMASK="0002" \
|
||||
TZ="Etc/UTC"
|
||||
|
||||
RUN \
|
||||
adduser apps \
|
||||
--uid 568 \
|
||||
--group \
|
||||
--system \
|
||||
--disabled-password \
|
||||
--no-create-home \
|
||||
&& \
|
||||
mkdir -p /config \
|
||||
&& chown -R apps:apps /config \
|
||||
&& chmod -R 775 /config
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# hadolint ignore=DL3008,DL3015
|
||||
RUN \
|
||||
set -eux \
|
||||
&& echo 'APT::Install-Recommends "false";' >/etc/apt/apt.conf.d/00recommends \
|
||||
&& echo 'APT::Install-Suggests "false";' >>/etc/apt/apt.conf.d/00recommends \
|
||||
&& echo 'APT::Get::Install-Recommends "false";' >>/etc/apt/apt.conf.d/00recommends \
|
||||
&& echo 'APT::Get::Install-Suggests "false";' >>/etc/apt/apt.conf.d/00recommends \
|
||||
&& \
|
||||
apt-get -qq update \
|
||||
&& \
|
||||
apt-get install -y \
|
||||
bash \
|
||||
ca-certificates \
|
||||
curl \
|
||||
dnsutils \
|
||||
iputils-ping \
|
||||
jo \
|
||||
jq \
|
||||
gnupg \
|
||||
locales \
|
||||
moreutils \
|
||||
pv \
|
||||
tini \
|
||||
nano \
|
||||
tzdata \
|
||||
vim-tiny \
|
||||
unrar \
|
||||
unzip \
|
||||
wget \
|
||||
redis-server \
|
||||
postgresql-client \
|
||||
mariadb-client \
|
||||
libicu70 \
|
||||
pv \
|
||||
git \
|
||||
&& \
|
||||
localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 \
|
||||
&& ln -s /usr/bin/vim.tiny /usr/local/bin/vi \
|
||||
&& ln -s /usr/bin/vim.tiny /usr/local/bin/vim \
|
||||
&& ln -s /usr/bin/vim.tiny /usr/local/bin/nano \
|
||||
&& ln -s /usr/bin/vim.tiny /usr/local/bin/emacs \
|
||||
&& \
|
||||
curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg \
|
||||
&& \
|
||||
echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | tee /etc/apt/sources.list.d/kubernetes.list \
|
||||
&& \
|
||||
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | apt-key add - \
|
||||
&& \
|
||||
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-6.0.list \
|
||||
&& \
|
||||
case "${TARGETPLATFORM}" in \
|
||||
'linux/amd64') export ARCH='linux-x64' ;; \
|
||||
esac \
|
||||
&& \
|
||||
apt-get -qq update \
|
||||
&& \
|
||||
apt-get -qq install -y \
|
||||
mongodb-mongosh \
|
||||
kubectl \
|
||||
&& chown -R apps:apps /app \
|
||||
&& \
|
||||
printf "/bin/bash /shim/greeting.sh\n" >> /etc/bash.bashrc \
|
||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
|
||||
&& apt-get autoremove -y \
|
||||
&& apt-get clean \
|
||||
&& \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/cache/apt/* \
|
||||
/var/tmp/* \
|
||||
&& chmod -R u=rwX,go=rX /app \
|
||||
&& printf "umask %d" "${UMASK}" >> /etc/bash.bashrc \
|
||||
&& update-ca-certificates
|
||||
|
||||
ENV LANG en_US.UTF-8
|
||||
|
||||
VOLUME ["/config"]
|
||||
|
||||
COPY ./containers/base/ubuntu/entrypoint.sh /entrypoint.sh
|
||||
COPY ./containers/base/ubuntu/shim /shim
|
||||
|
||||
USER apps
|
||||
|
||||
ENTRYPOINT [ "/usr/bin/tini", "--" ]
|
||||
|
||||
ARG CONTAINER_NAME
|
||||
ARG CONTAINER_VER
|
||||
LABEL "maintainer"="TrueCharts <info@truecharts.org>"
|
||||
LABEL "org.opencontainers.image.source"="https://github.com/truecharts/apps"
|
||||
LABEL org.opencontainers.image.licenses="BSD-3-Clause"
|
||||
LABEL org.opencontainers.image.title="${CONTAINER_NAME}"
|
||||
LABEL org.opencontainers.image.url="https://truecharts.org/docs/charts/${CONTAINER_NAME}"
|
||||
LABEL org.opencontainers.image.version="${CONTAINER_VER}"
|
||||
LABEL org.opencontainers.image.description="Container for ${CONTAINER_NAME} by TrueCharts"
|
||||
LABEL org.opencontainers.image.authors="TrueCharts"
|
||||
LABEL org.opencontainers.image.documentation="https://truecharts.org/docs/charts/${CONTAINER_NAME}"
|
||||
@@ -1,2 +0,0 @@
|
||||
linux/amd64
|
||||
linux/arm64
|
||||
@@ -1 +0,0 @@
|
||||
jammy
|
||||
@@ -1,7 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
#shellcheck disable=SC1091
|
||||
source "/shim/umask.sh"
|
||||
source "/shim/vpn.sh"
|
||||
|
||||
exec "$@"
|
||||
@@ -1,13 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
echo "
|
||||
Welcome to a TrueCharts container,
|
||||
You are entering the vicinity of an area adjacent to a location.
|
||||
The kind of place where there might be a monster, or some kind of weird mirror.
|
||||
These are just examples; it could also be something much better.
|
||||
* Repository: https://github.com/truecharts/containers
|
||||
* Docs: https://truecharts.org
|
||||
* This container uses the micro CLI text editor or nano respectively
|
||||
* Bugs or feature requests should be opened in an GH issue
|
||||
* Questions should be discussed in Discord
|
||||
"
|
||||
@@ -1,28 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
min_seconds="${1:-1}"
|
||||
max_seconds="${2:-3600}"
|
||||
seconds="$(shuf -i "${min_seconds}"-"${max_seconds}" -n 1)"
|
||||
|
||||
function logz {
|
||||
msg="${1}"
|
||||
level="${2:-info}"
|
||||
printf "\e[1;32m%-6s\e[m\n" "timestamp=\"$(date +"%Y-%m-%dT%H:%M:%S%z")\" level=\"${level}\" msg=\"${msg}\""
|
||||
}
|
||||
|
||||
function datez {
|
||||
secs="${1}"
|
||||
printf "%dh%dm%ds" $((secs/3600)) $((secs%3600/60)) $((secs%60))
|
||||
}
|
||||
|
||||
printf "\e[1;32m%-6s\e[m\n" "$(logz "min seconds set to ${min_seconds}" "debug")"
|
||||
printf "\e[1;32m%-6s\e[m\n" "$(logz "max seconds set to ${max_seconds}" "debug")"
|
||||
|
||||
printf "\e[1;32m%-6s\e[m\n" "$(logz "sleeping for $(datez "${seconds}")" "info")"
|
||||
|
||||
for ((i=seconds;i>0;i--)); do
|
||||
printf "\e[1;32m%-6s\e[m\n" "$(logz "sleeping for $(datez "${i}")" "info")"
|
||||
sleep 1
|
||||
done
|
||||
|
||||
printf "\e[1;32m%-6s\e[m\n" "$(logz "done" "debug")"
|
||||
@@ -1,23 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
#shellcheck disable=SC1091
|
||||
source "/shim/umask.sh"
|
||||
source "/shim/vpn.sh"
|
||||
|
||||
echo "---Checking for optional user script---"
|
||||
if [ -f /custom/user.sh ]; then
|
||||
echo "---Found optional script, executing---"
|
||||
chmod +x /custom/user.sh
|
||||
/custom/user.sh
|
||||
else
|
||||
echo "---No optional user script found, continuing---"
|
||||
fi
|
||||
|
||||
echo "---Checking for container script---"
|
||||
if [ -f /custom/start.sh ]; then
|
||||
echo "---Found container script, executing---"
|
||||
chmod +x /custom/start.sh
|
||||
/custom/start.sh
|
||||
else
|
||||
echo "---No container script found, continuing---"
|
||||
fi
|
||||
@@ -1,3 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
umask "${UMASK:-0002}"
|
||||
@@ -1,10 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [[ "${WAIT_FOR_VPN:-"false"}" == "true" ]]; then
|
||||
echo "Waiting for VPN to be connected..."
|
||||
while ! grep -s -q "connected" /shared/vpnstatus; do
|
||||
echo "VPN not connected"
|
||||
sleep 2
|
||||
done
|
||||
echo "VPN Connected, starting application..."
|
||||
fi
|
||||
Reference in New Issue
Block a user