Go to file
sneak 0b821850d2
All checks were successful
continuous-integration/drone/push Build is passing
push master as latest as well
2020-02-15 10:59:00 -08:00
mirror update readme, fix some bugs 2020-02-15 10:29:22 -08:00
.drone.yml push master as latest as well 2020-02-15 10:59:00 -08:00
Dockerfile update readme, fix some bugs 2020-02-15 10:29:22 -08:00
Makefile latest 2016-04-09 19:23:37 +02:00
mirror.run update readme, fix bugs 2020-02-15 10:21:00 -08:00
nginx.conf now serves /mirrors.txt to support ubuntu mirror:// urls 2016-04-11 04:36:47 +02:00
nginx.run initial 2016-04-08 22:41:48 +02:00
README.markdown update readme 2020-02-15 10:57:52 -08:00
sources.list update sources.list 2020-02-15 10:37:17 -08:00

sneak/ubuntumirror

Docker image for syncing ubuntu LTS mirrors to reduce network traffic and speed up build times.

Then even your builds (where you can't specify links to other containers by hostname) will go fast.

Levers

Paths

The mirror stores all the data in a docker volume at path /var/mirror/ubuntu. Map that somewhere else if you like.

Environment Variables

  • UBUNTU_MIRROR_ARCHITECTURES
    • default amd64.
    • You may want i386,amd64.
  • UBUNTU_MIRROR_CATEGORIES
    • Default main,universe,restricted,multiverse. Will use lots of disk.
    • You may want main,universe.
  • UBUNTU_MIRROR_PROJECTS
    • Default bionic,bionic-updates,bionic-security,bionic-backports,focal,focal-updates,focal-security,focal-backports.
    • You may want only focal,focal-updates,focal-security,focal-backports.
  • UBUNTU_MIRROR_UPSTREAM - upstream server to mirror from
    • default archive.ubuntu.com.
    • You may want xx.archive.ubuntu.com (where xx is your country code).
  • UBUNTU_ENABLE_SOURCE_MIRRORING - do we want to mirror all the source code too?
    • Default ``
    • You may want 1 if you want to use up even more disk for your mirror
  • MIRROR_UPDATE_INTERVAL_SECONDS - mirror update interval
    • default 43200 (12h)
    • You may want 10800 (3h)

Example Startup

docker rm -f local-ubuntu-mirror
docker run -d --name local-ubuntu-mirror \
	-v /storage/mirrors/ubuntu:/var/mirror/ubuntu \
    --env MIRROR_UPDATE_INTERVAL_SECONDS=3600 \
    --env UBUNTU_MIRROR_ARCHITECTURES=amd64 \
    --env UBUNTU_MIRROR_UPSTREAM=us.archive.ubuntu.com \
    --env UBUNTU_MIRROR_PROJECTS=focal,focal-updates,focal-security,focal-backports \
	-p 8080:80 \
	--restart unless-stopped \
	sneak/ubuntumirror:latest

Example CapRover Definition File

 {
  "schemaVersion": 2,
  "imageName": "sneak/ubuntumirror:latest"
}

Author

sneak <sneak@sneak.berlin>

License

This software is released into the public domain.