Sign inSign up

guyadams99/cygwin-mirror

By guyadams99

•Updated about 9 years ago

This container synchronizes a full cygwin mirror locally and runs a web server to host it

Image
1

372

guyadams99/cygwin-mirror repository overview

⁠Overview

This contain does several things:

  • runs apache on port 80 to serve up all the mirrored content
  • runs cron and once per day at 2am rerun the rsync from ftp.heanet.ie (currently hard coded, will parameterise)
  • on container start run the rsync to build/update the local mirror

Since it is pretty bad practice to try and store the packages inside the container, it expects to mount a volume from the host

Note that as of July 2017 the mirror is ~111GB

⁠Execution

Make sure you have the latest image if you have run this before (note - docker run does not check for newer images): docker pull guyadams99/cygwin-mirror

Then run:

docker run -i -t -d -p <port you want to make available on>:80 -v <your host packages store>:/var/www/html guyadams99/cygwin-mirror

e.g.

docker run -i -t -d -p 8080:80 -v /tmp/cygwin/:/var/www/html guyadams99/cygwin-mirror

All the rsync logs are stored in /var/logs/rsync.log

⁠Cygwin Installation

Once you have done this - run the latest setup from https://www.cygwin.com/⁠ and when you get to the step "Choose A Download Site" in the "User URL:" field enter http://: e.g. http://10.1.1.1:8080⁠

And then click Add, make sure the new URL and follow the rest of the install as normal. Note: There may be a client bug that when you enter the new URL and click through, it still tries to install from a different URL. If this happens, exit the setup client, reopen and select the URL you added and this time it should work.

⁠Source

All source is here: https://github.com/guyadams/cygwin-mirror⁠ just checkout, cd into repo and run build.sh

Tag summary

Content type

Image

Digest

Size

224.4 MB

Last updated

about 9 years ago

docker pull guyadams99/cygwin-mirror