From c178256fc0b8939c304df772989d8912f84c2bdc Mon Sep 17 00:00:00 2001 From: Dmitry Chumak Date: Tue, 22 Nov 2022 18:35:59 +0300 Subject: [PATCH] deb repo parser added, readme updated --- .dockerignore | 2 +- .gitignore | 2 +- Dockerfile | 15 --------- Dockerfile.deb | 21 ++++++++++++ Dockerfile.rpm | 10 ++++++ README.MD | 8 +++-- config/deb/entrypoint.sh | 3 ++ config/deb/mirror.list | 33 +++++++++++++++++++ config/rpm/entrypoint.sh | 23 +++++++++++++ .../rpm/repo_files}/mongodb.repo | 0 entrypoint.sh | 22 ------------- 11 files changed, 98 insertions(+), 41 deletions(-) delete mode 100644 Dockerfile create mode 100644 Dockerfile.deb create mode 100644 Dockerfile.rpm create mode 100755 config/deb/entrypoint.sh create mode 100644 config/deb/mirror.list create mode 100755 config/rpm/entrypoint.sh rename {repo_files => config/rpm/repo_files}/mongodb.repo (100%) delete mode 100755 entrypoint.sh diff --git a/.dockerignore b/.dockerignore index 938ee10..60baa9c 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1 +1 @@ -mirror_data/* +data/* diff --git a/.gitignore b/.gitignore index 938ee10..60baa9c 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -mirror_data/* +data/* diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 8a14017..0000000 --- a/Dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -FROM fedora:38 - -RUN yum -y install createrepo yum-utils -RUN mkdir /data/ - -VOLUME ["/data/"] - -COPY entrypoint.sh /opt/entrypoint.sh -RUN mkdir /etc/yum.repos.d/mirror/ -COPY repo_files/* /etc/yum.repos.d/mirror/ - -RUN mkdir /tmp/gpg_keys/ -COPY gpg_keys/* /tmp/gpg_keys/ - -ENTRYPOINT ["/opt/entrypoint.sh"] diff --git a/Dockerfile.deb b/Dockerfile.deb new file mode 100644 index 0000000..4d05ebe --- /dev/null +++ b/Dockerfile.deb @@ -0,0 +1,21 @@ +FROM debian:10.5-slim + +COPY config/deb/entrypoint.sh /opt/entrypoint.sh +RUN apt-get update -q \ + && \ + apt install -y -qq apt-mirror \ + && \ + apt-get autoremove \ + && \ + rm -rf /var/cache/apt/* \ + && \ + mkdir -p /data/ \ + && \ + touch /var/log/cron.log \ + && \ + chmod u+x /opt/entrypoint.sh + +COPY config/deb/mirror.list /etc/apt/mirror.list + +VOLUME ["/data/"] +ENTRYPOINT ["/opt/entrypoint.sh"] diff --git a/Dockerfile.rpm b/Dockerfile.rpm new file mode 100644 index 0000000..fe8e0b3 --- /dev/null +++ b/Dockerfile.rpm @@ -0,0 +1,10 @@ +FROM fedora:38 + +RUN yum -y install createrepo yum-utils +RUN mkdir /data/ /etc/yum.repos.d/mirror/ + +COPY config/rpm/entrypoint.sh /opt/entrypoint.sh +COPY config/rpm/repo_files/* /etc/yum.repos.d/mirror/ + +VOLUME ["/data/"] +ENTRYPOINT ["/opt/entrypoint.sh"] diff --git a/README.MD b/README.MD index 697f459..1b410c8 100644 --- a/README.MD +++ b/README.MD @@ -2,6 +2,10 @@ Right now there's only `rpm` repository mirroring container. `deb` will be added later based on `ubuntu`. - docker build -t rpmmirror:latest . - docker run -v "$(pwd)/mirror_data":/data rpmmirror:latest + docker build -t rpmmirror:latest -f Dockerfile.rpm . + docker run -v "$(pwd)/data/rpm":/data rpmmirror:latest +Here is the `deb` container version: + + docker build -t debmirror:latest -f Dockerfile.deb . + docker run -v "$(pwd)/data/deb":/data debmirror:latest diff --git a/config/deb/entrypoint.sh b/config/deb/entrypoint.sh new file mode 100755 index 0000000..d23390d --- /dev/null +++ b/config/deb/entrypoint.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +apt-mirror diff --git a/config/deb/mirror.list b/config/deb/mirror.list new file mode 100644 index 0000000..279e876 --- /dev/null +++ b/config/deb/mirror.list @@ -0,0 +1,33 @@ +############# config ################## +# +set base_path /data/ +# +# set mirror_path $base_path/mirror +# set skel_path $base_path/skel +# set var_path $base_path/var +# set cleanscript $var_path/clean.sh +# set defaultarch +# set postmirror_script $var_path/postmirror.sh +# set run_postmirror 0 +set nthreads 20 +set _tilde 0 +# +############# end config ############## + +deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse +deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/6.0 multiverse +deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/6.0 multiverse + +deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse +deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/5.0 multiverse +deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/5.0 multiverse + +deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse +deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse +deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.4 multiverse + +deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.2 multiverse +deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse +deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.2 multiverse + +clean http://archive.ubuntu.com/ubuntu diff --git a/config/rpm/entrypoint.sh b/config/rpm/entrypoint.sh new file mode 100755 index 0000000..154bc0a --- /dev/null +++ b/config/rpm/entrypoint.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +for repo_file in $(ls -1 /etc/yum.repos.d/mirror/) +do + dnf config-manager --add-repo /etc/yum.repos.d/mirror/$repo_file +done + +# for gpg_key in $(find /tmp/gpg_keys) +# do +# rpm --import /tmp/gpg_keys/$gpg_key +# done + +for cent_release in 6 7 8 +do + for mongo_release in 4.4 5.0 6.0 + do + reposync --delete \ + --remote-time \ + --download-metadata \ + -p /data/ \ + --repoid mongodb-org-$mongo_release-c$cent_release + done +done diff --git a/repo_files/mongodb.repo b/config/rpm/repo_files/mongodb.repo similarity index 100% rename from repo_files/mongodb.repo rename to config/rpm/repo_files/mongodb.repo diff --git a/entrypoint.sh b/entrypoint.sh deleted file mode 100755 index d42b042..0000000 --- a/entrypoint.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash - -for repo_file in $(ls -1 /etc/yum.repos.d/mirror/) -do - dnf config-manager --add-repo /etc/yum.repos.d/mirror/$repo_file -done - -for gpg_key in $(find /tmp/gpg_keys) -do -done - -for cent_release in 6 7 8 -do - for mongo_release in 4.4 5.0 6.0 - do - reposync --delete --remote-time --download-metadata -p /data/ --repoid mongodb-org-$mongo_release-c$cent_release - done -done -# reposync -g -m --repoid=base --newest-only --download-metadata --download_path=/data/ -# reposync -g -m --repoid=centosplus --newest-only --download-metadata --download_path=/data/ -# reposync -g -m --repoid=extras --newest-only --download-metadata --download_path=/data/ -# reposync -g -m --repoid=updates --newest-only --download-metadata --download_path=/data/