2024-02-09 13:47:59 +03:00
|
|
|
FROM python:3.10-bookworm
|
2022-06-02 16:43:01 +03:00
|
|
|
|
|
|
|
ARG DEBIAN_FRONTEND=noninteractive
|
|
|
|
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
|
2023-06-08 00:53:17 +03:00
|
|
|
LABEL org.opencontainers.image.vendor="EpicMorg DevTeam, developer@epicm.org"
|
|
|
|
LABEL org.opencontainers.image.authors="STAM, kasthack, Aleks-Z"
|
|
|
|
LABEL org.opencontainers.image.source="https://github.com/EpicMorg/docker"
|
|
|
|
LABEL org.opencontainers.image.url="https://github.com/EpicMorg/docker"
|
|
|
|
LABEL donate.crypto.TON="EQDvHXRK-K1ZieJhgTD9JZQk7xCnWzRbctYnUkWq1lZq1bUg"
|
|
|
|
LABEL donate.crypto.ETH="0x26a8443a694f08cdfec966aa6fd72c45068753ec"
|
|
|
|
LABEL donate.crypto.BTC="bc1querz8ug9asjmsuy6yn4a94a2athgprnu7e5zq2"
|
|
|
|
LABEL donate.crypto.LTC="ltc1qtwwacq8f0n76fer2y83wxu540hddnmf8cdrlvg"
|
|
|
|
LABEL donate.crypto.NVC="4SbMynYETyhmKdggu8f38ULU6yQKiJPuo6"
|
|
|
|
LABEL donate.crypto.DOGE="DHyfE1CZzWtyaQiaMmv6g4KvXVQRUgrYE6"
|
|
|
|
LABEL donate.crypto.PPC="pQWArPzYoLppNe7ew3QPfto1k1eq66BYUB"
|
|
|
|
LABEL donate.crypto.RVN="R9t2LKeLhDSZBKNgUzSDZAossA3UqNvbV3"
|
|
|
|
LABEL donate.crypto.ZEC="t1KRMMmwMSZth8vJcd2ZHtPEFKTQ74yVixE"
|
|
|
|
LABEL donate.crypto.XMR="884PqZ1gDjWW7fKxtbaeRoBeSh9EGZbkqUyLriWmuKbwLZrAJdYUs4wQxoVfEJoW7LBhdQMP9cFhZQpJr6xvg7esHLdCbb1"
|
2022-06-02 16:43:01 +03:00
|
|
|
|
|
|
|
##################################################################
|
|
|
|
# prepare system
|
|
|
|
##################################################################
|
|
|
|
RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done
|
2024-02-10 00:23:00 +03:00
|
|
|
RUN mkdir -p /etc/apt/keyrings
|
2022-06-02 16:43:01 +03:00
|
|
|
|
|
|
|
##################################################################
|
|
|
|
# sources list
|
|
|
|
##################################################################
|
|
|
|
RUN rm -rfv /etc/apt/sources.list
|
|
|
|
RUN rm -rfv /etc/locale.gen
|
|
|
|
|
|
|
|
COPY etc/apt/apt.conf.d/99-no-check-valid-until /etc/apt/apt.conf.d/99-no-check-valid-until
|
2024-02-10 00:23:00 +03:00
|
|
|
COPY etc/apt/apt.conf.d/98-allow-unauthenticated /etc/apt/apt.conf.d/98-allow-unauthenticated
|
|
|
|
COPY etc/apt/apt.conf.d/97-allow-cert-exp /etc/apt/apt.conf.d/97-allow-cert-exp
|
|
|
|
COPY etc/apt/apt.conf.d/96-apt-retries /etc/apt/apt.conf.d/96-apt-retries
|
2022-06-02 16:43:01 +03:00
|
|
|
COPY etc/apt/sources.list /etc/apt/sources.list
|
2022-06-02 17:28:54 +03:00
|
|
|
COPY etc/locale.gen /etc/locale.gen
|
2022-06-02 16:43:01 +03:00
|
|
|
|
|
|
|
RUN apt-get update && \
|
|
|
|
apt-get upgrade -y && \
|
|
|
|
apt-get dist-upgrade -y
|
|
|
|
|
|
|
|
##################################################################
|
|
|
|
# installing utils
|
|
|
|
##################################################################
|
|
|
|
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \
|
|
|
|
apt-get install -y --allow-unauthenticated \
|
|
|
|
apt-transport-https \
|
|
|
|
apt-utils \
|
|
|
|
gnupg \
|
|
|
|
gnupg1 \
|
|
|
|
gnupg2 \
|
|
|
|
aptitude \
|
|
|
|
bash \
|
|
|
|
binutils \
|
|
|
|
console-cyrillic \
|
|
|
|
ca-certificates \
|
|
|
|
locales \
|
|
|
|
software-properties-common \
|
|
|
|
sudo
|
|
|
|
|
|
|
|
RUN apt-key adv --keyserver keyserver.ubuntu.com --refresh-keys
|
|
|
|
RUN apt-key list | grep "expired: " | sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp' | xargs -n1 apt-key adv --keyserver keyserver.ubuntu.com --recv-keys
|
|
|
|
|
2022-09-09 19:58:47 +03:00
|
|
|
RUN update-ca-certificates
|
|
|
|
|
2022-06-02 16:43:01 +03:00
|
|
|
##################################################################
|
2024-02-10 00:23:00 +03:00
|
|
|
# ARGuments
|
2022-06-02 16:43:01 +03:00
|
|
|
##################################################################
|
|
|
|
|
2024-02-10 00:23:00 +03:00
|
|
|
#configured by dockerfile / .ENV
|
|
|
|
ARG P4_VERSION
|
|
|
|
ARG P4_DOWNLOAD_URL
|
|
|
|
ARG SZ_VERSION
|
|
|
|
ARG SZ_DOWNLOAD_URL
|
|
|
|
ARG LZGIT_VERSION
|
|
|
|
ARG LZGIT_DOWNLOAD_URL
|
|
|
|
ARG DUMB_INIT_VERSION
|
|
|
|
ARG DUMB_INIT_DOWNLOAD_URL
|
|
|
|
ARG GOSU_VER
|
|
|
|
ARG GOSU_DOWNLOAD_URL
|
2022-06-02 16:43:01 +03:00
|
|
|
|
|
|
|
##################################################################
|
|
|
|
# update lists
|
|
|
|
##################################################################
|
|
|
|
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \
|
|
|
|
apt-get update
|
|
|
|
|
|
|
|
##################################################################
|
|
|
|
# installing utils
|
|
|
|
##################################################################
|
|
|
|
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \
|
|
|
|
apt-get install -y --allow-unauthenticated \
|
|
|
|
bzip2 \
|
2024-02-09 13:47:59 +03:00
|
|
|
acl \
|
|
|
|
aptitude \
|
|
|
|
bzip2 \
|
|
|
|
cifs-utils \
|
|
|
|
clzip \
|
2022-06-02 16:43:01 +03:00
|
|
|
cmatrix \
|
|
|
|
cmatrix-xfont \
|
|
|
|
cron \
|
|
|
|
curl \
|
2024-02-09 13:47:59 +03:00
|
|
|
cvs \
|
2022-06-02 16:43:01 +03:00
|
|
|
dos2unix \
|
|
|
|
ffmpeg \
|
|
|
|
fontconfig \
|
|
|
|
git \
|
2024-02-09 13:47:59 +03:00
|
|
|
git-crypt \
|
2022-06-02 16:43:01 +03:00
|
|
|
git-cvs \
|
|
|
|
git-doc \
|
|
|
|
git-email \
|
2024-02-09 13:47:59 +03:00
|
|
|
git-extras \
|
|
|
|
git-flow \
|
2022-06-02 16:43:01 +03:00
|
|
|
git-ftp \
|
2024-02-09 13:47:59 +03:00
|
|
|
git-lfs \
|
|
|
|
git-mediawiki \
|
2022-06-02 16:43:01 +03:00
|
|
|
gnupg \
|
|
|
|
gnupg2 \
|
|
|
|
graphicsmagick \
|
|
|
|
gzip \
|
|
|
|
htop \
|
|
|
|
iftop \
|
|
|
|
iotop \
|
|
|
|
iperf \
|
|
|
|
iperf3 \
|
|
|
|
iputils-ping \
|
|
|
|
jq \
|
|
|
|
kmod \
|
|
|
|
lbzip2 \
|
|
|
|
libsvn-java \
|
2024-02-09 13:47:59 +03:00
|
|
|
libxml2-dev \
|
|
|
|
libxml2-utils \
|
|
|
|
libzip4 \
|
2022-06-02 16:43:01 +03:00
|
|
|
locales \
|
2024-02-09 13:47:59 +03:00
|
|
|
logrotate \
|
2022-06-02 16:43:01 +03:00
|
|
|
lsb-release \
|
|
|
|
lsof \
|
2024-02-09 13:47:59 +03:00
|
|
|
lvm2 \
|
2022-06-02 16:43:01 +03:00
|
|
|
lynx \
|
|
|
|
lzip \
|
2024-02-09 13:47:59 +03:00
|
|
|
lzma \
|
2022-06-02 16:43:01 +03:00
|
|
|
lzop \
|
|
|
|
mc \
|
|
|
|
mercurial \
|
|
|
|
nano \
|
2024-02-09 13:47:59 +03:00
|
|
|
neofetch \
|
|
|
|
nfs-common \
|
2022-06-02 16:43:01 +03:00
|
|
|
nload \
|
|
|
|
nmap \
|
|
|
|
openssl \
|
|
|
|
p7zip-full \
|
|
|
|
p7zip-rar \
|
2024-02-09 13:47:59 +03:00
|
|
|
parted \
|
|
|
|
pbzip2 \
|
|
|
|
perl \
|
|
|
|
pev \
|
|
|
|
plzip \
|
|
|
|
portmap \
|
|
|
|
procps \
|
|
|
|
python3-all \
|
|
|
|
python3-pip \
|
2022-06-02 16:43:01 +03:00
|
|
|
rar \
|
2024-02-09 13:47:59 +03:00
|
|
|
rclone \
|
|
|
|
rename \
|
|
|
|
rsync \
|
2022-06-02 16:43:01 +03:00
|
|
|
screenfetch \
|
|
|
|
smbclient \
|
2024-02-09 13:47:59 +03:00
|
|
|
ssl-cert \
|
2022-06-02 16:43:01 +03:00
|
|
|
subversion \
|
2024-02-09 13:47:59 +03:00
|
|
|
subversion-tools \
|
|
|
|
sudo \
|
|
|
|
sysstat \
|
2022-06-02 16:43:01 +03:00
|
|
|
telnet \
|
2024-02-09 13:47:59 +03:00
|
|
|
tini \
|
2022-06-02 16:43:01 +03:00
|
|
|
tmux \
|
|
|
|
tree \
|
2024-02-09 13:47:59 +03:00
|
|
|
unrar \
|
2022-06-02 16:43:01 +03:00
|
|
|
util-linux \
|
|
|
|
uuid-runtime \
|
|
|
|
wget \
|
2024-02-09 13:47:59 +03:00
|
|
|
xz-utils \
|
|
|
|
zip
|
|
|
|
|
2022-06-02 16:43:01 +03:00
|
|
|
|
|
|
|
##################################################################
|
|
|
|
# installing fs-tools
|
|
|
|
##################################################################
|
2022-10-16 13:56:59 +03:00
|
|
|
#RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \
|
|
|
|
# apt-get install -y --allow-unauthenticated \
|
|
|
|
# btrfs-progs \
|
|
|
|
# exfat-utils \
|
|
|
|
# e2fsprogs \
|
|
|
|
# f2fs-tools \
|
|
|
|
# dosfstools \
|
|
|
|
# hfsutils \
|
|
|
|
# hfsprogs \
|
|
|
|
# jfsutils \
|
|
|
|
# mdadm \
|
|
|
|
# util-linux \
|
|
|
|
# cryptsetup \
|
|
|
|
# lvm2 \
|
|
|
|
# nilfs-tools \
|
|
|
|
# ntfs-3g \
|
|
|
|
# reiser4progs \
|
|
|
|
# reiserfsprogs \
|
|
|
|
# udftools \
|
|
|
|
# xfsprogs \
|
|
|
|
# xfsdump
|
2022-06-02 16:43:01 +03:00
|
|
|
|
2023-01-20 19:05:33 +03:00
|
|
|
##################################################################
|
|
|
|
# git fresh binary
|
|
|
|
##################################################################
|
2024-02-10 00:23:00 +03:00
|
|
|
RUN gpg --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \
|
|
|
|
gpg --export --output /etc/apt/keyrings/launchpad-git.gpg A1715D88E1DF1F24 && \
|
2023-01-20 19:05:33 +03:00
|
|
|
rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \
|
|
|
|
rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list
|
|
|
|
COPY etc/apt/sources.list.d/launchpad_git-mainline.list /etc/apt/sources.list.d/launchpad_git-mainline.list
|
|
|
|
COPY etc/apt/sources.list.d/launchpad_git-stable.list /etc/apt/sources.list.d/launchpad_git-stable.list
|
|
|
|
RUN apt-get update && \
|
|
|
|
apt-get install -y --allow-unauthenticated \
|
2024-02-10 00:23:00 +03:00
|
|
|
git
|
|
|
|
|
|
|
|
RUN echo "=============================================" && \
|
|
|
|
echo git $(git --version) && \
|
|
|
|
echo "============================================="
|
2023-01-20 19:05:33 +03:00
|
|
|
|
2022-06-02 16:43:01 +03:00
|
|
|
##################################################################
|
|
|
|
# git-lfs official binary
|
|
|
|
##################################################################
|
2024-02-10 00:23:00 +03:00
|
|
|
RUN curl -fsSL https://packagecloud.io/github/git-lfs/gpgkey | gpg --dearmor > /etc/apt/keyrings/github_git-lfs-archive-keyring.gpg && \
|
2022-06-02 16:43:01 +03:00
|
|
|
rm -rfv /etc/apt/sources.list.d/github_git-lfs.list
|
|
|
|
COPY etc/apt/sources.list.d/github_git-lfs.list /etc/apt/sources.list.d/github_git-lfs.list
|
|
|
|
RUN apt-get update && \
|
|
|
|
apt-get install -y --allow-unauthenticated \
|
|
|
|
git \
|
|
|
|
git-lfs && \
|
2024-02-10 00:23:00 +03:00
|
|
|
git-lfs install --skip-repo
|
|
|
|
|
|
|
|
RUN echo "=============================================" && \
|
|
|
|
echo git $(git --version) && \
|
|
|
|
echo git-lfs $(git-lfs --version) && \
|
|
|
|
echo "============================================="
|
2022-06-02 16:43:01 +03:00
|
|
|
|
|
|
|
##################################################################
|
|
|
|
# gh official binary
|
|
|
|
##################################################################
|
2024-02-10 00:23:00 +03:00
|
|
|
RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/githubcli-archive-keyring.gpg && \
|
|
|
|
chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg && \
|
|
|
|
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list && \
|
2022-09-09 20:32:16 +03:00
|
|
|
apt-get update && \
|
2022-06-02 16:43:01 +03:00
|
|
|
apt-get install -y --allow-unauthenticated \
|
2024-02-10 00:23:00 +03:00
|
|
|
gh
|
|
|
|
|
|
|
|
RUN echo "=============================================" && \
|
|
|
|
echo gh $(gh --version) && \
|
|
|
|
echo "============================================="
|
2022-06-02 16:43:01 +03:00
|
|
|
|
|
|
|
##################################################################
|
|
|
|
# Install p4client
|
|
|
|
##################################################################
|
|
|
|
RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue -P /usr/bin ${P4_DOWNLOAD_URL} && \
|
|
|
|
chmod +x /usr/bin/p4
|
|
|
|
|
|
|
|
##################################################################
|
|
|
|
# Install 7z official binary
|
|
|
|
##################################################################
|
|
|
|
RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue -O /tmp/7z.tar.xz ${SZ_DOWNLOAD_URL} && \
|
|
|
|
mkdir -p /tmp/7z && \
|
|
|
|
tar -xf /tmp/7z.tar.xz -C /tmp/7z && \
|
|
|
|
chmod +x /tmp/7z/7zz && \
|
2024-02-10 00:23:00 +03:00
|
|
|
mv -fv /tmp/7z/7zz /usr/bin/
|
|
|
|
|
|
|
|
RUN echo "=============================================" && \
|
|
|
|
echo 7zz $(7zz | head -4) && \
|
|
|
|
echo 7z $(7z | head -4) && \
|
|
|
|
echo "============================================="
|
2022-06-02 16:43:01 +03:00
|
|
|
|
|
|
|
##################################################################
|
|
|
|
# Install LazyGit official binary
|
|
|
|
##################################################################
|
|
|
|
RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue -O /tmp/lazygit.tar.xz ${LZGIT_DOWNLOAD_URL} && \
|
|
|
|
mkdir -p /tmp/lazygit && \
|
|
|
|
tar -zxvf /tmp/lazygit.tar.xz -C /tmp/lazygit && \
|
|
|
|
chmod +x /tmp/lazygit/lazygit && \
|
2024-02-10 00:23:00 +03:00
|
|
|
mv -fv /tmp/lazygit/lazygit /usr/bin/
|
|
|
|
|
|
|
|
RUN echo "=============================================" && \
|
|
|
|
echo lazygit $(lazygit --version) && \
|
|
|
|
echo "============================================="
|
|
|
|
|
|
|
|
##################################################################
|
|
|
|
# dumb init
|
|
|
|
##################################################################
|
|
|
|
RUN wget -q --no-check-certificate -c ${DUMB_INIT_DOWNLOAD_URL} --random-wait -O /usr/bin/dumb-init && \
|
|
|
|
chmod +x /usr/bin/dumb-init
|
|
|
|
|
|
|
|
RUN echo "=============================================" && \
|
|
|
|
echo dumb-init $(dumb-init --version) && \
|
|
|
|
echo "============================================="
|
|
|
|
|
|
|
|
##################################################################
|
|
|
|
# gosu for easy step-down from root
|
|
|
|
##################################################################
|
|
|
|
RUN wget -q --no-check-certificate -c ${GOSU_DOWNLOAD_URL} --random-wait -O /usr/local/bin/gosu && \
|
|
|
|
chmod +x /usr/local/bin/gosu
|
|
|
|
|
|
|
|
RUN echo "=============================================" && \
|
|
|
|
echo gosu $(gosu --version) && \
|
|
|
|
echo "============================================="
|
2022-06-02 16:43:01 +03:00
|
|
|
|
|
|
|
##################################################################
|
|
|
|
# Version
|
|
|
|
##################################################################
|
2024-02-10 00:23:00 +03:00
|
|
|
RUN echo "=============================================" && \
|
|
|
|
echo python3 $(python3 --version) && \
|
|
|
|
echo pip3 $(pip3 --version) && \
|
|
|
|
echo python $(python --version) && \
|
|
|
|
echo pip $(pip --version) && \
|
|
|
|
echo "============================================="
|
2022-06-02 16:43:01 +03:00
|
|
|
|
|
|
|
##################################################################
|
|
|
|
# Generate ssl key
|
|
|
|
##################################################################
|
2024-02-10 00:23:00 +03:00
|
|
|
RUN openssl dhparam -out /etc/ssl/dhparam.pem 4096
|
2022-06-02 16:43:01 +03:00
|
|
|
|
|
|
|
##################################################################
|
|
|
|
# update locales
|
|
|
|
##################################################################
|
|
|
|
RUN locale-gen
|
|
|
|
|
|
|
|
##################################################################
|
|
|
|
# cleanup
|
|
|
|
##################################################################
|
|
|
|
RUN apt-get purge policykit-1 -y && \
|
|
|
|
apt-get clean -y && \
|
|
|
|
apt-get autoclean -y && \
|
|
|
|
rm -rfv /var/lib/apt/lists/* && \
|
|
|
|
rm -rfv /tmp/* && \
|
|
|
|
rm -rfv /var/cache/apt/archives/*.deb
|