apt-mirror-apache2/README.md

2.8 KiB

apt-mirror-apache2

Using Docker to construct your APT(Advanced Packaging Tools) mirror HTTP server.

Usage

Basic command:

docker run -d --restart always \
           -e TIMEOUT=4h -e PUID=1000 -e PGID=100 \
           -e MIRROR_URL=http://archive.ubuntu.com/ubuntu \
           -e EXTRA1="deb http://ppa.launchpad.net/jonathonf/zfs/ubuntu bionic main" \
           -e EXTRA2="deb http://ppa.launchpad.net/wireguard/wireguard/ubuntu bionic main" \
           -v /path/data:/var/www/html/ \
           --name apt-mirror \
           -p 81:80 kongkrit/apt-mirror-apache2
  • -v /path/data: the path which you want to store data

More options with docker command

  -e EXTRA1="deb http://ppa.launchpad.net/jonathonf/zfs/ubuntu bionic main"

will add this extra line to the mirror.list file

  • -e EXTRA2, EXTRA3, EXTRA4, EXTRA5: same as EXTRA1
  • -e TIMEOUT=timeout-value: to set the resync period, default is 12 hours. See the TIMEOUT format description
  • -e NTHREADS=10: number of wget threads to use to pull from MIRROR_URL - default to 10
  • -e PUID=userid: set to a userid that can access the mounted volume (see note below)
  • -e PGID=groupid: set to a groupid that can access the mounted volume (see note below)

More on PUID and PGID from linuxserver.io

When using volumes (-v flags), permissions issues can arise between the host OS and the container. We avoid this issue by allowing you to specify the user PUID and group PGID.

Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.

In this instance PUID=1000 and PGID=1000. To find yours use id user as below:

  $ id username
    uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)

You only need to set the PUID and PGID variables if you are mounting the /var/www/html folder

Changelog

  • 2020-01-29

    • support EXTRA1...5 parameters
  • 2020-01-04

    • support PUID, PGID, and NTHREADS
  • 2020-01-01

    • updated ubuntu to 18.04 LTS
  • 2017-07-27: version 0.1.2

    • Fix the container started twice: "httpd (pid 13) already running"
  • 2017-04-28: version 0.1.1

    • Fix http server doesn't start after the container restarted
  • 2017-04-27: version 0.1