FROM python:3.10-bookworm ARG DEBIAN_FRONTEND=noninteractive LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" 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" ################################################################## # prepare system ################################################################## RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done RUN mkdir -p /etc/apt/keyrings ################################################################## # 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 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 COPY etc/apt/sources.list /etc/apt/sources.list COPY etc/locale.gen /etc/locale.gen 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 RUN update-ca-certificates ################################################################## # ARGuments ################################################################## #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 ################################################################## # 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 \ acl \ aptitude \ bzip2 \ cifs-utils \ clzip \ cmatrix \ cmatrix-xfont \ cron \ curl \ cvs \ dos2unix \ ffmpeg \ fontconfig \ git \ git-crypt \ git-cvs \ git-doc \ git-email \ git-extras \ git-flow \ git-ftp \ git-lfs \ git-mediawiki \ gnupg \ gnupg2 \ graphicsmagick \ gzip \ htop \ iftop \ iotop \ iperf \ iperf3 \ iputils-ping \ jq \ kmod \ lbzip2 \ libsvn-java \ libxml2-dev \ libxml2-utils \ libzip4 \ locales \ logrotate \ lsb-release \ lsof \ lvm2 \ lynx \ lzip \ lzma \ lzop \ mc \ mercurial \ nano \ neofetch \ nfs-common \ nload \ nmap \ openssl \ p7zip-full \ p7zip-rar \ parted \ pbzip2 \ perl \ pev \ plzip \ portmap \ procps \ python3-all \ python3-pip \ rar \ rclone \ rename \ rsync \ screenfetch \ smbclient \ ssl-cert \ subversion \ subversion-tools \ sudo \ sysstat \ telnet \ tini \ tmux \ tree \ unrar \ util-linux \ uuid-runtime \ wget \ xz-utils \ zip ################################################################## # installing fs-tools ################################################################## #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 ################################################################## # git fresh binary ################################################################## RUN gpg --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ gpg --export --output /etc/apt/keyrings/launchpad-git.gpg A1715D88E1DF1F24 && \ 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 \ git RUN echo "=============================================" && \ echo git $(git --version) && \ echo "=============================================" ################################################################## # git-lfs official binary ################################################################## RUN curl -fsSL https://packagecloud.io/github/git-lfs/gpgkey | gpg --dearmor > /etc/apt/keyrings/github_git-lfs-archive-keyring.gpg && \ 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 && \ git-lfs install --skip-repo RUN echo "=============================================" && \ echo git $(git --version) && \ echo git-lfs $(git-lfs --version) && \ echo "=============================================" ################################################################## # gh official binary ################################################################## 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 && \ apt-get update && \ apt-get install -y --allow-unauthenticated \ gh RUN echo "=============================================" && \ echo gh $(gh --version) && \ echo "=============================================" ################################################################## # 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 && \ mv -fv /tmp/7z/7zz /usr/bin/ RUN echo "=============================================" && \ echo 7zz $(7zz | head -4) && \ echo 7z $(7z | head -4) && \ echo "=============================================" ################################################################## # 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 && \ 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 "=============================================" ################################################################## # Version ################################################################## RUN echo "=============================================" && \ echo python3 $(python3 --version) && \ echo pip3 $(pip3 --version) && \ echo python $(python --version) && \ echo pip $(pip --version) && \ echo "=============================================" ################################################################## # Generate ssl key ################################################################## RUN openssl dhparam -out /etc/ssl/dhparam.pem 4096 ################################################################## # 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