#!/bin/bash
set -e

URL="https://librosylibretas.cc/UBUMagia/Validaci%C3%B3n%20y%20Pruebas/TestLink-Docker/testlink-amd64.tar.gz"
ARCHIVO="testlink-amd64.tar.gz"

if [ -f "$ARCHIVO" ]; then
    echo "Se encontró $ARCHIVO de un intento anterior, se borra para descargar limpio."
    rm -f "$ARCHIVO"
fi

trap 'rm -f "$ARCHIVO"' EXIT

echo "Descargando imagen de Docker de TestLink..."
curl -fL -o "$ARCHIVO" "$URL"

echo "Cargando la imagen en Docker..."
gunzip -c "$ARCHIVO" | docker load

if docker images | grep -q testlink; then
    echo "Imagen descargada y cargada correctamente."
else
    echo "Algo falló: la imagen no aparece en 'docker images'."
    exit 1
fi

read -p "¿Quieres lanzar el contenedor con testlink? (y/n) " respuesta < /dev/tty

if [ "$respuesta" = "y" ] || [ "$respuesta" = "Y" ];
then
    PUERTO=80
    while (echo > /dev/tcp/127.0.0.1/$PUERTO) 2>/dev/null; do
        echo "El puerto $PUERTO ya está ocupado."
        read -p "Introduce otro puerto para usar: " PUERTO < /dev/tty
    done

    docker run -d -p "$PUERTO":80 --name testlink-docker testlink:amd64
    echo "TestLink disponible en http://localhost:$PUERTO/"
else
    exit 1
fi
