Docker-реализация apt-mirror2 с встроенным Nginx.
  • Dockerfile 57.5%
  • Shell 42.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2025-12-03 16:03:20 +03:00
.github workflow_dispatch 2025-12-03 11:25:26 +03:00
pure socksio & httpx[socks] install 2025-12-03 16:03:20 +03:00
.dockerignore fix build (python 3.12 image) 2025-12-03 13:03:26 +03:00
.gitattributes Testing for formal changes 2024-06-09 02:11:23 +08:00
.gitignore fix build (python 3.12 image) 2025-12-03 13:03:26 +03:00
check.sh fix build (python 3.12 image) 2025-12-03 13:03:26 +03:00
default.conf Add files via upload 2024-05-03 20:40:32 +08:00
Dockerfile socksio & httpx[socks] install 2025-12-03 16:03:20 +03:00
entrypoint.sh fix build (python 3.12 image) 2025-12-03 13:03:26 +03:00
healthcheck.sh fix build (python 3.12 image) 2025-12-03 13:03:26 +03:00
LICENSE Initial commit 2024-05-03 20:08:30 +08:00
mirror.list v14 2025-12-03 11:22:16 +03:00
README.md v14 2025-12-03 11:22:16 +03:00

apt-mirror2-docker

license commits last commit actions docker size docker pulls

Введение

v7 С выходом версии 7 появился официальный образ, предоставленный автором apt-mirror2. Образ с тегом Alpine весит всего около 20 МБ, что не может не радовать.

Этот репозиторий используется для сборки coralhl/apt-mirror2, одной из реализаций apt-mirror2 для Docker. В эту сборку включены Nginx и Cron. Если вам не нужно управлять расписаниями внутри контейнера, рекомендуется использовать официальный образ для внешнего определения расписаний Cron.

Образ использует python:alpine в качестве первого этапа сборки, alpine:3 в качестве базового образа и установленный Nginx. Размер образа составляет около 30 Мб.

Автор исправил проблемы с сетью в обновлении v8; подробности см. в Версия 8.

В версии latest-pure не установлен Nginx. Тогда вам придётся развернуть Nginx или другой веб-сервер отдельно.

Использование

  • Перед запуском контейнера настройте mirror.list.
  • Файл mirror.list в контейнере расположен по умолчанию в /etc/apt/mirror.list.
  • В mirror.list указана директория для сохранения пакетов — /var/spool/apt-mirror, которая также является корневым каталогом Nginx по умолчанию. Не изменяйте её.
  • Nginx работает на порту 80.

Использовать напрямую

docker run -d \
    --name=apt-mirror2 --network=bridge --restart unless-stopped \
    -p 81:80 \
    -e "CRON_SCHEDULE=0 2,8,14,20 * * *" \
    -e "TZ=Europe/Moscow" \
    -v /path/apt-mirror:/var/spool/apt-mirror \
    -v /path/mirror.list:/etc/apt/mirror.list \
    coralhl/apt-mirror2:latest

Docker Compose

version: '3'

services:
  apt-mirror2:
    image: coralhl/apt-mirror2:latest
    network_mode: "bridge"
    container_name: apt-mirror2
    restart: unless-stopped
    ports:
      - 81:80
    environment:
      - CRON_SCHEDULE=0 2,8,14,20 * * *
      - TZ=Europe/Moscow
    volumes:
      - /path/apt-mirror:/var/spool/apt-mirror
      - /path/mirror.list:/etc/apt/mirror.list

Переменные ENV

Имя Значение по умолчанию Назначение
TZ Europe/Moscow Настройки часового пояса
CRON_SCHEDULE 0 2,8,14,20 * * * Расписание cron

Благодарности

Лицензия

Соответствует первоначальному проекту.

GNU General Public License v3.0 or later