You can use the MiKTeX Setup Utility to set up a local package repository:
mkdir -p /PATH/TO/REPOSITORY miktexsetup --verbose --local-package-repository=/PATH/TO/REPOSITORY --package-set=complete download
In order to keep the repository up-to-date, you can run the command periodically (via a scheduled task). The utility is smart enough to download only updated packages.
To use the local package repository, you have to select it in MiKTeX Console.