mirror of
https://github.com/truecharts/charts.git
synced 2026-07-12 07:54:42 -03:00
133 lines
4.1 KiB
Docker
133 lines
4.1 KiB
Docker
FROM ubuntu:noble@sha256:b359f1067efa76f37863778f7b6d0e8d911e3ee8efa807ad01fbf5dc1ef9006b
|
|
|
|
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 ./base/ubuntu/entrypoint.sh /entrypoint.sh
|
|
COPY ./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}"
|