Accueil > Linux > Instalation/configuration d’apt-cacher-ng en docker

Instalation/configuration d’apt-cacher-ng en docker

dimanche 5 novembre 2017, par Rémi

A l’occasion de la nouvelle installation du serveur, et devant l’augmentation de machine sous linux à la maison, j’ai installé apt-cacher-ng. L’occasion aussi de voir comment mettre ça en container (pour le concept, la démo, comprendre comment ça fonctionne...). Vous pouvez trouver l’intégralité des fichiers sur mon github

C’est partie :

  • Le serveur est une Debian stable toute neuve, à jour.
  • Docker est dans dans le sources.list :
    pour l’installation de la clef et de la source exacte, je vous laisse suivre le site https://docs.docker.com/engine/inst...
  • il faut donc installer docker-ce et docker-compose (l’installation de docker-compose ne se fait pas par apt, mais le site docs.docker.com l’explique très bien.)

La préparation logiciel est presque terminée

  • J’ai créé un utilisateur Docker-user, mais je ne lui ai pas mis d’interpréteur par sécurité :
    groupadd Docker-user
    useradd -s "/bin/false" Docker-user
  • cd /home/Docker-user
  • mkdir apt-proxy
  • cd apt-proxy
  • A présent, il faut soit tout refaire, soit utiliser les fichiers provenant de mon github
    Ce qu’il faut comprendre faire, une fois les fichiers créés ou copiés, c’est
  • créé le containers contenant le proxy :
    docker build -t apt-proxy .
  • faire les divers volumes dont va se servir apt-cacher-ng
    mkdir /var/cache/apt-cacher-ng 
    mkdir /var/log/apt-cacher-ng
  • -exécuter
    docker-compose up -d
    pour avoir un proxy apt sur le serveur :)

A présent, comment utiliser le proxy :
On va utiliser un script qui recherche le proxy :

#!/usr/bin/env bash

# detect_proxy.sh
#
# 09/01/2016
# Script pour détecter si le proxy est disponible et afficher le résultat sur la sortie standard pour Acquire::http::Proxy-Auto-Detect du fichier /etc/apt/apt.conf.d/01proxy
# Source: https://www.blog-libre.org/2016/01/09/installation-et-configuration-de-apt-cacher-ng/

### Variables ###
# Proxy # 
proxy="10.20.30.187"

### Détection du proxy et affichage du résultat sur la sortie standard ###
nc -zw1 $proxy 3142 && echo http://$proxy:3142/ || echo DIRECT

La machine ayant apt-proxy a l’adresse 10.20.30.187 chez moi. Modifiez ce paramétre chez vous.
Ce script s’appel detect_proxy.sh et doit être exécutable, bien sur. Il doit se trouver dans /etc/apt/
Ensuite, vous créez un fichier /etc/apt/apt.conf.d/01proxy avec comme contenu :

Acquire::http::Proxy-Auto-Detect "/etc/apt/detect_proxy.sh";

A présent, le proxy est là : apt l’utilise, sinon, il n’utilisera rien du tout, mais fonctionnera quand même.

Un message, un commentaire ?

Qui êtes-vous ?
Votre message