mirror of
https://github.com/marcogll/omarchy_setup.git
synced 2026-01-13 21:35:16 +00:00
Initial commit of Zsh setup files
This commit is contained in:
67
modules/docker.sh
Executable file
67
modules/docker.sh
Executable file
@@ -0,0 +1,67 @@
|
||||
#!/usr/bin/env bash
|
||||
# ===============================================================
|
||||
# docker.sh - Configuración de Docker y Portainer
|
||||
# ===============================================================
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
source "${SCRIPT_DIR}/common.sh"
|
||||
|
||||
install_docker() {
|
||||
log_step "Configuración de Docker y Portainer"
|
||||
|
||||
# Instalar Docker
|
||||
log_info "Instalando Docker y Docker Compose..."
|
||||
sudo pacman -S --noconfirm --needed \
|
||||
docker docker-compose || {
|
||||
log_error "Error al instalar Docker"
|
||||
return 1
|
||||
}
|
||||
|
||||
# Habilitar y iniciar Docker
|
||||
log_info "Habilitando servicio de Docker..."
|
||||
sudo systemctl enable docker.service
|
||||
sudo systemctl enable containerd.service
|
||||
sudo systemctl start docker.service
|
||||
|
||||
# Agregar usuario al grupo docker (si no está ya)
|
||||
if ! groups "$USER" | grep -q docker; then
|
||||
log_info "Agregando usuario al grupo docker..."
|
||||
sudo usermod -aG docker "$USER"
|
||||
log_warning "Necesitarás cerrar sesión y volver a iniciar para usar Docker sin sudo"
|
||||
fi
|
||||
|
||||
# Instalar Portainer
|
||||
log_info "Configurando Portainer..."
|
||||
|
||||
# Verificar si Portainer ya está corriendo
|
||||
if sudo docker ps -a --format '{{.Names}}' | grep -q "^portainer$"; then
|
||||
log_info "Portainer ya existe. Reiniciando contenedor..."
|
||||
sudo docker stop portainer 2>/dev/null || true
|
||||
sudo docker rm portainer 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# Crear volumen y contenedor de Portainer
|
||||
sudo docker volume create portainer_data 2>/dev/null || true
|
||||
|
||||
if sudo docker run -d -p 8000:8000 -p 9443:9443 \
|
||||
--name portainer \
|
||||
--restart=always \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
-v portainer_data:/data \
|
||||
portainer/portainer-ce:latest; then
|
||||
log_success "Portainer instalado y ejecutándose"
|
||||
log_info "Accede a Portainer en: https://localhost:9443"
|
||||
else
|
||||
log_error "Error al instalar Portainer"
|
||||
return 1
|
||||
fi
|
||||
|
||||
log_success "Docker y Portainer configurados correctamente"
|
||||
return 0
|
||||
}
|
||||
|
||||
# Ejecutar si se llama directamente
|
||||
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
|
||||
install_docker "$@"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user