Nearly correct. but point 2 is wrong. I put the official Debian Mirror in mirror.list as it should be. And the archives are just some megabytes, so no way, that all the packages fit in there
I've followed this one https://unix.stackexchange.com/questions/541546/create-debian-local-repository-with-sub-repositories-main-non-free, here's my mirror.sh
#!/bin/bash
# sourcehost: choose a mirror in your proximity!
HOST=ftp.us.debian.org;
# destination directory...
here's my mirror.list
############# config ##################
#
# set base_path /var/spool/apt-mirror
#
# 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 <running host...