build image

This commit is contained in:
2025-11-29 19:51:15 +01:00
parent c688eefe0b
commit a4b7d3c738
177 changed files with 2018 additions and 23366 deletions

111
scripts/update-compose-image.sh Executable file
View File

@@ -0,0 +1,111 @@
#!/bin/bash
# update-compose-image.sh
# Script per aggiornare i file docker-compose.yml per usare l'immagine dal registry
# Uso: ./update-compose-image.sh <registry_url> <image_name> <tag>
# Esempio: ./update-compose-image.sh registry.example.com:5000 orchestrator-app latest
set -e
# ==================== CONFIGURAZIONE ====================
if [ "$#" -ne 3 ]; then
echo "Uso: $0 <registry_url> <image_name> <tag>"
echo ""
echo "Parametri:"
echo " registry_url - URL del registry privato"
echo " image_name - Nome dell'immagine"
echo " tag - Tag dell'immagine"
echo ""
echo "Esempio:"
echo " $0 registry.example.com:5000 orchestrator-app latest"
echo ""
echo "Lo script aggiornerà i file docker-compose.yml in vm1/ e vm2/"
echo "sostituendo 'build: .' con 'image: registry_url/image_name:tag'"
exit 1
fi
REGISTRY_URL=$1
IMAGE_NAME=$2
TAG=$3
FULL_IMAGE_NAME="${REGISTRY_URL}/${IMAGE_NAME}:${TAG}"
# Directory dei progetti
VM1_DIR="/home/alex/devel/proxmox-ha-setup/vm1"
VM2_DIR="/home/alex/devel/proxmox-ha-setup/vm2"
# Colors
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
CYAN='\033[0;36m'
NC='\033[0m'
# ==================== FUNZIONI ====================
print_success() { echo -e "${GREEN}$1${NC}"; }
print_warning() { echo -e "${YELLOW}$1${NC}"; }
print_error() { echo -e "${RED}$1${NC}"; }
print_info() { echo -e "${CYAN} $1${NC}"; }
update_compose_file() {
local compose_file=$1
local backup_file="${compose_file}.backup"
if [ ! -f "$compose_file" ]; then
print_warning "File non trovato: $compose_file"
return 1
fi
# Crea backup
cp "$compose_file" "$backup_file"
print_info "Backup creato: $backup_file"
# Sostituisci 'build: .' con 'image: ...'
sed -i "s|build: \.|image: ${FULL_IMAGE_NAME}|g" "$compose_file"
print_success "Aggiornato: $compose_file"
return 0
}
# ==================== SCRIPT PRINCIPALE ====================
echo -e "${BLUE}================================================${NC}"
echo -e "${BLUE}AGGIORNAMENTO DOCKER-COMPOSE FILES${NC}"
echo -e "${BLUE}================================================${NC}"
echo ""
print_info "Immagine da utilizzare: ${CYAN}$FULL_IMAGE_NAME${NC}"
echo ""
# Aggiorna vm1/docker-compose.yml
if [ -f "$VM1_DIR/docker-compose.yml" ]; then
print_info "Aggiornamento $VM1_DIR/docker-compose.yml..."
update_compose_file "$VM1_DIR/docker-compose.yml"
else
print_warning "File non trovato: $VM1_DIR/docker-compose.yml"
fi
echo ""
# Aggiorna vm2/docker-compose.yml
if [ -f "$VM2_DIR/docker-compose.yml" ]; then
print_info "Aggiornamento $VM2_DIR/docker-compose.yml..."
update_compose_file "$VM2_DIR/docker-compose.yml"
else
print_warning "File non trovato: $VM2_DIR/docker-compose.yml"
fi
echo ""
echo -e "${BLUE}================================================${NC}"
echo -e "${GREEN}✓ Aggiornamento completato!${NC}"
echo -e "${BLUE}================================================${NC}"
echo ""
print_info "I file docker-compose.yml ora usano: ${CYAN}$FULL_IMAGE_NAME${NC}"
print_info "I file di backup sono stati creati con estensione .backup"
echo ""
print_warning "Ricordati di fare il pull dell'immagine sulle VM:"
print_info " ssh root@192.168.1.201 'cd /opt/myapp && docker pull $FULL_IMAGE_NAME'"
print_info " ssh root@192.168.1.202 'cd /opt/myapp && docker pull $FULL_IMAGE_NAME'"
echo ""