#!/bin/sh if [ $EUID -ne 0 ]; then whiptail --title "sudo su" --msgbox "requiere ser usuario root , escriba (sudo su) antes de entrar a menu / requires root user, type (sudo su) before entering menu" 0 50 exit 1 fi (crontab -l | grep -v "sync ; echo 3 > /proc/sys/vm/drop_caches >/dev/null 2>&1") | crontab - #!/bin/bash echo "Installing required packages..." echo "Install Docker Community Edition..." # Eliminar versiones antiguas de Docker si las hay, ignorando errores si no existen apt-get -y remove docker docker-engine docker.io containerd runc --ignore-missing # Actualizar el índice de paquetes #apt update # Instalar paquetes necesarios para Docker (forzar sin intervención) apt-get install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common # Descargar y agregar la clave GPG oficial de Docker, sobrescribiendo si es necesario curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor --batch --yes -o /usr/share/keyrings/docker-archive-keyring.gpg # Detectar la arquitectura del sistema ARCH=$(dpkg --print-architecture) echo "System architecture is $ARCH" # Ajustar el nombre de la arquitectura según sea necesario if [ "$ARCH" == "amd64" ]; then ARCH="amd64" elif [ "$ARCH" == "arm64" ]; then ARCH="arm64" elif [ "$ARCH" == "armhf" ]; then ARCH="armhf" else echo "Architecture $ARCH not supported" exit 1 fi # Agregar el repositorio de Docker para la arquitectura correcta echo "Adding Docker repository for $ARCH..." echo "deb [arch=$ARCH signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # Actualizar el índice de paquetes nuevamente apt update # Instalar Docker Community Edition, forzando la instalación sin preguntas apt-get install -y docker-ce docker-ce-cli containerd.io echo "Install Docker Compose..." # Instalar Docker Compose, forzando la instalación sin preguntas apt-get install -y docker-compose # Configurar Docker con opciones personalizadas, sobrescribiendo si es necesario echo "Set userland-proxy to false and configure log options..." cat < /dev/null { "userland-proxy": false, "experimental": true, "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" } } EOF # Reiniciar el servicio Docker para aplicar cambios echo "Restarting Docker service..." sudo systemctl restart docker echo "Docker setup completed successfully!"