# Proxy (identique à votre configuration)
HTTP_PROXY="http://10.0.0.1:3128"
HTTPS_PROXY="https://10.0.0.1:3128"
NO_PROXY="172.22.1.1,172.22.1.2,172.22.1.3,localhost,127.0.0.1"

# Ajout dépôt Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu jammy stable" | sudo tee /etc/apt/sources.list.d/docker.list

# Installation
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-compose

# Configuration proxy Docker
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo tee /etc/systemd/system/docker.service.d/proxy.conf <<EOF
[Service]
Environment="HTTP_PROXY=$HTTP_PROXY"
Environment="HTTPS_PROXY=$HTTPS_PROXY"
Environment="NO_PROXY=$NO_PROXY"
EOF

# Redémarrage
sudo systemctl daemon-reload
sudo systemctl restart docker

# Ajout utilisateur
sudo usermod -aG docker $USER

# Test
newgrp docker
docker --version
docker-compose --version
echo "✅ Docker installé !"

#!/bin/bash
echo "========================================="
echo " Installation Docker - Lycée"
echo "========================================="

# 1. Ajout de la clé GPG
echo "🔑 Ajout de la clé GPG Docker..."
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 2. Ajout du dépôt
echo "📦 Ajout du dépôt Docker..."
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu jammy stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 3. Mise à jour
echo "🔄 Mise à jour des dépôts..."
sudo apt update

# 4. Installation
echo "🚀 Installation de Docker..."
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-compose

# 5. Configuration du proxy pour Docker (optionnel mais recommandé)
echo "📡 Configuration du proxy pour Docker..."
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo tee /etc/systemd/system/docker.service.d/http-proxy.conf > /dev/null <<EOF
[Service]
Environment="HTTP_PROXY=http://10.0.0.1:3128/"
Environment="HTTPS_PROXY=https://10.0.0.1:3128/"
Environment="NO_PROXY=172.22.1.1,172.22.1.2,172.22.1.3"
EOF

# 6. Configuration des registres non sécurisés
echo "🔧 Configuration des registres Docker..."
sudo tee /etc/docker/daemon.json > /dev/null <<EOF
{
  "insecure-registries": [
    "docker.io",
    "registry-1.docker.io"
  ],
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn"
  ]
}
EOF

# 7. Redémarrage
echo "🔄 Redémarrage de Docker..."
sudo systemctl daemon-reload
sudo systemctl restart docker

# 8. Ajout au groupe docker
echo "👤 Ajout de $USER au groupe docker..."
sudo usermod -aG docker $USER

# 9. Vérification
echo "✅ Vérification :"
docker --version
docker-compose --version

echo ""
echo "========================================="
echo "🎉 Installation terminée !"
echo "========================================="
echo "📝 Déconnectez-vous/reconnectez-vous OU"
echo "   exécutez : newgrp docker"
echo ""
echo "🌐 Ensuite, pour votre Moodle :"
echo "   cd ~/Works"
echo "   tar xvf moodle_sauvegardes.tar"
echo "   cd docker/moodle"
echo "   docker-compose up -d"

#!/bin/bash
# Script d'installation de Docker pour le lycée
# À exécuter avec : bash install-docker-lycee.sh

set -e  # Arrêt en cas d'erreur

# Couleurs pour les messages
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color

echo -e "${GREEN}========================================${NC}"
echo -e "${GREEN}  Installation Docker - Lycée Dorian  ${NC}"
echo -e "${GREEN}========================================${NC}"

# Configuration du proxy (à modifier si nécessaire)
PROXY_HOST="extranet.lyc-dorian.ac-paris.fr"
PROXY_PORT="3128"
HTTP_PROXY="http://$PROXY_HOST:$PROXY_PORT"
HTTPS_PROXY="http://$PROXY_HOST:$PROXY_PORT"
NO_PROXY="localhost,127.0.0.1,.local,.lyc-dorian.ac-paris.fr"

echo -e "${YELLOW}📡 Configuration du proxy : $HTTP_PROXY${NC}"

# 1. Nettoyage des anciennes installations
echo -e "${YELLOW}🧹 Nettoyage des anciennes installations...${NC}"
sudo apt remove -y docker docker-engine docker.io containerd runc 2>/dev/null || true

# 2. Mise à jour des paquets
echo -e "${YELLOW}📦 Mise à jour des paquets...${NC}"
sudo apt update

# 3. Installation des prérequis
echo -e "${YELLOW}🔧 Installation des prérequis...${NC}"
sudo apt install -y \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release \
    software-properties-common

# 4. Configuration du proxy pour APT
echo -e "${YELLOW}📡 Configuration du proxy pour APT...${NC}"
sudo tee /etc/apt/apt.conf.d/95proxies > /dev/null <<EOF
Acquire::http::Proxy "$HTTP_PROXY";
Acquire::https::Proxy "$HTTPS_PROXY";
EOF

# 5. Ajout de la clé GPG Docker
echo -e "${YELLOW}🔑 Ajout de la clé GPG Docker...${NC}"
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 6. Ajout du dépôt Docker
echo -e "${YELLOW}📦 Ajout du dépôt Docker...${NC}"
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 7. Mise à jour et installation de Docker
echo -e "${YELLOW}🚀 Installation de Docker...${NC}"
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-compose

# 8. Ajout de l'utilisateur au groupe docker
echo -e "${YELLOW}👤 Ajout de l'utilisateur au groupe docker...${NC}"
sudo usermod -aG docker $USER

# 9. Configuration du proxy pour Docker
echo -e "${YELLOW}📡 Configuration du proxy pour Docker...${NC}"
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo tee /etc/systemd/system/docker.service.d/http-proxy.conf > /dev/null <<EOF
[Service]
Environment="HTTP_PROXY=$HTTP_PROXY"
Environment="HTTPS_PROXY=$HTTPS_PROXY"
Environment="NO_PROXY=$NO_PROXY"
EOF

# 10. Configuration des registres non sécurisés et miroirs
echo -e "${YELLOW}🔧 Configuration des registres Docker...${NC}"
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json > /dev/null <<EOF
{
  "insecure-registries": [
    "docker.io",
    "registry-1.docker.io",
    "index.docker.io"
  ],
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com"
  ],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}
EOF

# 11. Rechargement et redémarrage de Docker
echo -e "${YELLOW}🔄 Redémarrage de Docker...${NC}"
sudo systemctl daemon-reload
sudo systemctl restart docker

# 12. Vérification
echo -e "${YELLOW}✅ Vérification de l'installation...${NC}"
docker --version
docker-compose --version

# 13. Test avec une image simple
echo -e "${YELLOW}🧪 Test avec l'image hello-world...${NC}"
docker run hello-world

echo -e "${GREEN}========================================${NC}"
echo -e "${GREEN}🎉 Installation terminée avec succès !${NC}"
echo -e "${GREEN}========================================${NC}"
echo -e "${YELLOW}📝 IMPORTANT : Déconnectez-vous et reconnectez-vous${NC}"
echo -e "${YELLOW}   ou exécutez : newgrp docker${NC}"
echo -e "${YELLOW}   pour que les changements de groupe soient pris en compte.${NC}"
echo ""
echo -e "${GREEN}🌐 Pour tester Moodle :${NC}"
echo -e "   mkdir -p ~/moodle && cd ~/moodle"
echo -e "   curl -o docker-compose.yml https://... (ou utilisez votre fichier)"
echo -e "   docker-compose up -d"

#!/bin/bash
# Script de configuration Docker pour proxy lycée
# À exécuter avec : bash docker-proxy-fix.sh

set -e  # Arrêt en cas d'erreur

# Couleurs pour les messages
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color

# Configuration (adaptée de votre /etc/environment)
PROXY_IP="10.0.0.1"
PROXY_PORT="3128"
HTTP_PROXY="http://${PROXY_IP}:${PROXY_PORT}/"
HTTPS_PROXY="http://${PROXY_IP}:${PROXY_PORT}/"  # Important: http:// même pour https
NO_PROXY="172.22.1.1,172.22.1.2,172.22.1.3,localhost,127.0.0.1,.local,.docker.io"

echo -e "${BLUE}========================================${NC}"
echo -e "${BLUE}  Configuration Docker pour proxy lycée ${NC}"
echo -e "${BLUE}========================================${NC}"

# 1. Sauvegarde des configurations existantes
echo -e "${YELLOW}📦 Sauvegarde des configurations existantes...${NC}"
BACKUP_DIR="/tmp/docker-backup-$(date +%Y%m%d-%H%M%S)"
mkdir -p $BACKUP_DIR
[ -f /etc/docker/daemon.json ] && sudo cp /etc/docker/daemon.json $BACKUP_DIR/daemon.json.bak 2>/dev/null || true
[ -d /etc/systemd/system/docker.service.d ] && sudo cp -r /etc/systemd/system/docker.service.d $BACKUP_DIR/ 2>/dev/null || true
echo -e "${GREEN}✅ Sauvegarde dans $BACKUP_DIR${NC}"

# 2. Nettoyage des anciennes configurations
echo -e "${YELLOW}🧹 Nettoyage des anciennes configurations...${NC}"
sudo rm -f /etc/docker/daemon.json
sudo rm -rf /etc/systemd/system/docker.service.d

# 3. Création du dossier de configuration systemd
echo -e "${YELLOW}📁 Création des dossiers de configuration...${NC}"
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo mkdir -p /etc/docker

# 4. Configuration du proxy pour Docker (via systemd)
echo -e "${YELLOW}📡 Configuration du proxy Docker (systemd)...${NC}"
sudo tee /etc/systemd/system/docker.service.d/proxy.conf > /dev/null <<EOF
[Service]
Environment="HTTP_PROXY=$HTTP_PROXY"
Environment="HTTPS_PROXY=$HTTPS_PROXY"
Environment="NO_PROXY=$NO_PROXY"
EOF

# 5. Configuration de daemon.json (registres, miroirs, MTU)
echo -e "${YELLOW}🔧 Configuration de Docker daemon.json...${NC}"
sudo tee /etc/docker/daemon.json > /dev/null <<EOF
{
  "mtu": 1400,
  "insecure-registries": [
    "docker.io",
    "registry-1.docker.io",
    "index.docker.io"
  ],
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com"
  ],
  "debug": true,
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  },
  "features": {
    "containerd-snapshotter": false
  }
}
EOF

# 6. Rechargement systemd et redémarrage Docker
echo -e "${YELLOW}🔄 Rechargement de systemd et redémarrage de Docker...${NC}"
sudo systemctl daemon-reload
sudo systemctl restart docker

# 7. Vérification du statut
echo -e "${YELLOW}✅ Vérification du statut Docker...${NC}"
sleep 3
if sudo systemctl is-active --quiet docker; then
    echo -e "${GREEN}✅ Docker est actif${NC}"
else
    echo -e "${RED}❌ Docker n'a pas démarré correctement${NC}"
    sudo systemctl status docker --no-pager
    exit 1
fi

# 8. Test de connectivité de base
echo -e "${YELLOW}🌐 Test de connectivité via proxy...${NC}"
if timeout 10 curl --proxy $HTTP_PROXY -s -I https://registry-1.docker.io/v2/ > /dev/null; then
    echo -e "${GREEN}✅ Proxy accessible${NC}"
else
    echo -e "${RED}⚠️  Proxy inaccessible - vérifiez l'IP et le port${NC}"
fi

# 9. Test Docker avec hello-world
echo -e "${YELLOW}🐳 Test avec l'image hello-world...${NC}"
if docker run --rm hello-world 2>/dev/null | grep -q "Hello from Docker"; then
    echo -e "${GREEN}✅ Test réussi : Docker fonctionne avec le proxy !${NC}"
else
    echo -e "${RED}❌ Le test a échoué${NC}"
    echo -e "${YELLOW}📝 Détails de l'erreur :${NC}"
    docker run --rm hello-world 2>&1 || true
fi

# 10. Résumé final
echo -e "${BLUE}========================================${NC}"
echo -e "${GREEN}🎉 Configuration terminée !${NC}"
echo -e "${BLUE}========================================${NC}"
echo -e "${YELLOW}📝 Récapitulatif de la configuration :${NC}"
echo "   Proxy HTTP  : $HTTP_PROXY"
echo "   Proxy HTTPS : $HTTPS_PROXY"
echo "   No Proxy    : $NO_PROXY"
echo "   MTU         : 1400"
echo "   Miroirs     : docker.mirrors.ustc.edu.cn, hub-mirror.c.163.com"
echo ""
echo -e "${YELLOW}📂 Sauvegarde disponible dans : $BACKUP_DIR${NC}"
echo ""
echo -e "${GREEN}👉 Pour tester : docker run hello-world${NC}"
echo -e "${GREEN}👉 Pour voir les logs : docker logs -f $(docker ps -lq)${NC}"