diff --git a/README.md b/README.md index f0140b20..2572f519 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Gestió de presència, incidències i més per a Instituts, Escoles i Acadèmies - [1. Introducció](#introduccio) - [2. Requisits del sistema operatiu per instal·lar Django-Aula](#requisits) -- [3. Desplegament d'una Demostració de Django-Aula (Quick Demo) amb Docker 🐳 ](#quickdemo) +- [3. Desplegament d'una Demostració de Django-Aula amb Docker 🐳 ](#demodocker) - [4. Instal·lació i càrrega de dades de Django-Aula per ús real a un Centre Educatiu](#produccio) - [5. Equip Desenvolupador i Suport Tècnic](#dev-suport-tecnic) @@ -54,10 +54,10 @@ Per qualsevol tipus d'instal·lació, ja sigui per un ús real o per l'entorn de --- - -## Desplegament d'una Demostració de Django-Aula (Quick Demo) amb Docker 🐳 + +## Desplegament d'una Demostració de Django-Aula amb Docker 🐳 -L'entorn de demostració, conegut com Demo, és una versió funcional del sistema i que es pot posar en funcionament en molt pocs minuts. Disposa de dades fictícies (usuaris, professors, alumnat i un horari mínim) que faciliten observar l'aspecte visual i interaccionar, des de diferents rols, amb les funcionalitats de l'aplicatiu real Django-Aula. +L'entorn de demostració, conegut com Demo, és una versió funcional del sistema i que es pot posar en funcionament en pocs minuts. Disposa de dades fictícies (usuaris, professors, alumnat i un horari mínim) que faciliten observar l'aspecte visual i interaccionar, des de diferents rols, amb les funcionalitats de l'aplicatiu real Django-Aula. El desplegament de la Demo s'ha automatitzat amb l'execució de dues comandes i consta de dues passes consecutives: @@ -78,17 +78,17 @@ Es recomana crear un subdirectori dins el directori de l'usuari instal·lador pe ```bash mkdir demo-djau-docker && cd demo-djau-docker && \ -wget -q -O install_quick_demo_docker.sh https://raw.githubusercontent.com/ctrl-alt-d/django-aula/refs/heads/master/docker/install_quick_demo_docker.sh && \ -chmod +x install_quick_demo_docker.sh && \ -bash ./install_quick_demo_docker.sh +wget -q -O install_demo_docker.sh https://raw.githubusercontent.com/ctrl-alt-d/django-aula/refs/heads/master/docker/install_demo_docker.sh && \ +chmod +x install_demo_docker.sh && \ +bash ./install_demo_docker.sh ``` -Tot i que el procés anterior és autònom i interactivament configurable, es recomana llegir la informació, molt més detallada del procés, segons el tipus de màquina (no virtualitzada, virtualitzada o servidor d'accés públic) on s'instal·larà la Demo. També hi haurà qui estarà interessat en dur a terme la instal·lació manual, tant de l'entorn de docker com de la Demo. Per tots aquests casos es recomana consultar els següents detallats documents: +Tot i que el procés anterior és autònom i interactivament configurable, es recomana llegir la informació, molt més detallada del procés, segons el tipus de màquina (no virtualitzada, virtualitzada o servidor d'accés públic) on s'instal·larà la Demo. També hi haurà qui estarà interessat en dur a terme la instal·lació manual, tant de l'entorn de Docker com de la Demo. Per tots aquests casos es recomana consultar els següents detallats documents: -➡️ **[Instal·lació de l'entorn de Docker i Docker Compose](docs/USER_MANUAL/demo/install_entorn_docker.md)**. +➡️ **[Instal·lació automatitzada de l'entorn de Docker i Docker Compose](docs/USER_MANUAL/demo/install_entorn_docker.md)**. -➡️ **[Instal·lació ràpida de la Demo amb Docker](docs/USER_MANUAL/demo/install_demo_docker.md)**. +➡️ **[Instal·lació automatitzada de la Demo amb Docker](docs/USER_MANUAL/demo/install_demo_docker.md)**. ➡️ **[Instal·lació manual de la Demo (sense Docker)](docs/USER_MANUAL/demo/install_demo_manual.md)**. diff --git a/docker/Dockerfile b/docker/Dockerfile index 00fb6f47..48029289 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -5,9 +5,13 @@ ENV PYTHONUNBUFFERED=1 WORKDIR /app COPY djau/. . -RUN apt-get update && apt-get install -y git wait-for-it \ +RUN apt-get update && apt-get install -y \ + git \ +# wait-for-it \ + postgresql-client \ libgl1 \ libglib2.0-0 && \ - apt clean && rm -rf /var/lib/apt/lists/* + apt clean && \ + rm -rf /var/lib/apt/lists/* RUN pip install --upgrade pip && pip install -r requirements.txt diff --git a/docker/carrega_inicial.old b/docker/carrega_inicial.old new file mode 100755 index 00000000..35fe9daa --- /dev/null +++ b/docker/carrega_inicial.old @@ -0,0 +1,18 @@ +#!/bin/bash +set -e + +wait-for-it db:5432 --timeout=30 --strict + +if [ ! -f /app/storage/.inicialitzat ]; then + echo "Inicialitzant dades ..." + python manage.py migrate + python manage.py collectstatic --noinput + ./scripts/fixtures.sh + python manage.py loaddemodata + touch /app/storage/.inicialitzat +else + echo "Dades ja inicialitzades." +fi + +exec python manage.py runserver 0.0.0.0:8000 + diff --git a/docker/carrega_inicial.sh b/docker/carrega_inicial.sh index 35fe9daa..b019b7b5 100755 --- a/docker/carrega_inicial.sh +++ b/docker/carrega_inicial.sh @@ -1,18 +1,44 @@ #!/bin/bash set -e +echo "Mostrant 'logs'..." +echo +echo "⌛ Esperant que la base de dades estigui operativa..." -wait-for-it db:5432 --timeout=30 --strict +TIMEOUT=60 +COUNT=0 + +# Utilitzem pg_isready per minimitzar el temps d'espera fent la comprovació amb motor de postgres +until pg_isready -h db -U "$DB_USER" >/dev/null 2>&1; do + sleep 1 + ((COUNT+=1)) + + if [ $COUNT -ge $TIMEOUT ]; then + echo "❌ ERROR: La base de dades no ha respost en $TIMEOUT segons." + echo " El procés d'inicialització s'ha aturat. Revisa els logs amb: 'docker logs demo_db' o amb 'make logs'." + exit 1 + fi +done + +echo "✅ PostgreSQL està llest! (El procés de preparació ha trigat $COUNT segons)" +echo +echo "📦 Aplicant migracions i preparant dades..." +echo if [ ! -f /app/storage/.inicialitzat ]; then echo "Inicialitzant dades ..." python manage.py migrate + echo -e "\n" python manage.py collectstatic --noinput + echo -e "\n" ./scripts/fixtures.sh + echo -e "\n" python manage.py loaddemodata touch /app/storage/.inicialitzat else - echo "Dades ja inicialitzades." + echo "Les dades ja s'havien inicialitzant anteriorment." fi - +echo +echo "Engengant el servidor de desenvolupament..." +echo exec python manage.py runserver 0.0.0.0:8000 diff --git a/docker/install_demo_docker.sh b/docker/install_demo_docker.sh new file mode 100644 index 00000000..0e4efbc1 --- /dev/null +++ b/docker/install_demo_docker.sh @@ -0,0 +1,235 @@ +#!/bin/bash +# ------------------------------------------------------------- +# Script per a la instal·lació de la Demo Docker de django-aula. +# Descarrega els fitxers de configuració i comprova la base de dades. +# ------------------------------------------------------------- + +# --- 0. Configuració de rutes i repositori + +# Ruta on s'executa el script (Directori arrel de la instal·lació) +BASE_DIR=$(pwd) + +# Dades del repositori +REPO_USER="ctrl-alt-d" +REPO_NAME="django-aula" +REPO_BRANCA="master" + +# Rutes locals +DJAU_PATH="${BASE_DIR}/djau" +DOCKER_SRC="${DJAU_PATH}/docker" +FUNCTION_PATH="${DJAU_PATH}/setup_djau" + +# URLs +REPO_URL="https://github.com/${REPO_USER}/${REPO_NAME}.git" + +clear +echo "---------------------------------------------------------------" +echo "--- Instal·lador automàtic de la Demo Docker de django-aula ---" +echo "--- Branca: $REPO_BRANCA | Arrel: $BASE_DIR ---" +echo "---------------------------------------------------------------" +echo +sleep 1 + +# --- 1. Clonació del repositori + +# Instal·lar git, si cal. + +echo "🔧 Comprovant que 'git' estigui instal·lat..." +if ! command -v git &> /dev/null; then + echo " Instal·lant 'git'..." + sudo apt-get update -y >/dev/null 2>&1 + sudo apt-get install -y git + if ! command -v git &> /dev/null; then + echo " ERROR a la instal·lació de 'git'" + exit 1 + fi +else + echo " ✅ 'git' ja està disponible." +fi +echo -e "\n" + +# COMPROVACIÓ: El directori existeix i no està buit? +if [ -d "$DJAU_PATH" ] && [ "$(ls -A "$DJAU_PATH")" ]; then + rm -Rf $DJAU_PATH +fi + +echo -e "Clonant $REPO_URL, branca '$REPO_BRANCA' en $DJAU_PATH." +echo + +# Clonar el repositori com l'usuari de l'aplicació, forçant la branca especificada i amb profunditat mínima (no interessa tot l'historial) +git clone --depth 1 -b "$REPO_BRANCA" "$REPO_URL" "$DJAU_PATH" + +if [ $? -ne 0 ]; then + echo -e "❌ ERROR: Fallida en clonar la branca '$REPO_BRANCA' del repositori '$REPO_URL'." + echo "Comprovi la URL, conexió a internet o permisos de l'usuari." + echo -e "\n" + exit 1 +fi +echo +echo -e "✅ Repositori clonat (Branca: $REPO_BRANCA) a '$DJAU_PATH'." + +echo -e "\n" +sleep 2 + +# Carrega de la llibreria de funcions +echo "Important variables de colors i funcions de la llibreria 'functions.sh'" +if [ -f "$FUNCTION_PATH/functions.sh" ]; then + source "$FUNCTION_PATH/functions.sh" + echo -e "${C_EXITO}✅ Llibreria de funcions carregada amb èxit.${RESET}" +else + echo -e "\n\e[31m\e[1m❌ ERROR:\e[0m No s'ha trobat l'arxiu functions.sh dins el directori $FUNCTION_PATH." + echo "No es pot continuar sense la llibreria de funcions." + exit 1 +fi +echo -e "\n" + +# --- 2. Fitxers a descarregar --- + +FILES_ORIGIN=( + "Dockerfile" + "docker-compose.demo.automatica.yml" + "Makefile.demo.automatica" + "env.demo.automatica" +) +FILES_DEST=( + "Dockerfile" + "docker-compose.yml" + "Makefile" + ".env" + ) + +# --- 3. Descarregar fitxers de configuració i dades --- + +echo -e "${C_INFO}📦 Preparant fitxers pel desplegament des de ${DOCKER_SRC}...${RESET}" +echo + +for i in "${!FILES_ORIGIN[@]}"; do + SRC="${DOCKER_SRC}/${FILES_ORIGIN[$i]}" + DST="${BASE_DIR}/${FILES_DEST[$i]}" + + if [ -f "$SRC" ]; then + cp "$SRC" "$DST" + echo -e "${C_EXITO} ✅ ${FILES_DEST[$i]} preparat.${RESET}" + else + echo -e "${C_ERROR} ❌ No s'ha trobat l'origen: ${FILES_ORIGIN[$i]}${RESET}" + exit 1 + fi +done + +echo +echo -e "${C_EXITO}✅ Tots els fitxers s'han descarregat correctament. Com a comprovació es llista el contingut del directori:${RESET}" +ls -lah Dockerfile docker-compose.yml Makefile .env + +echo + +# --- 4. Instal·lar make si cal --- + +echo -e "${C_INFO}🔧 Comprovant que 'make' estigui instal·lat...${RESET}" +if ! command -v make &> /dev/null; then + echo -e "${C_INFO} Instal·lant 'make'...${RESET}" + sudo apt-get update -y >/dev/null 2>&1 + sudo apt-get install -y make + if ! command -v make &> /dev/null; then + finalitzar_amb_error " Error a la instal·lació de 'make'" + fi +else + echo -e "${C_EXITO} ✅ 'make' ja està disponible.${RESET}" +fi + +# --- 5. Pregunta pel domini o IP --- + +echo +echo -e "${C_INFO}🌍 Si la Demo ha de funcionar en una xarxa local cal definir quina IP té. Si es vol instal·lar en un servidor en internet (VPS) caldrà informar de la seva IP pública i del domini o subdomini, si n'hi ha.${RESET}" +echo +read_prompt "Vol afegir un domini o IP a **DEMO_ALLOWED_HOSTS** per poder accedir-hi externament a la Demo? (Per defecte NO: sí/NO): " REPLY "no" +RESPONSE_LOWER=$(echo "$REPLY" | tr '[:upper:]' '[:lower:]') +#read -p "Vol afegir un domini o IP a **DEMO_ALLOWED_HOSTS** per poder accedir-hi externament a la Demo? (S/n): " REPLY + +if [[ "$RESPONSE_LOWER" = "sí" ]] || [[ "$RESPONSE_LOWER" = "si" ]] || [[ "$RESPONSE_LOWER" = "s" ]]; then + read -p "👉 Introdueix els dominis o IPs separats per comes (ex: demo.elteudomini.cat,192.168.1.46): " HOSTS + if [ -n "$HOSTS" ]; then + sed -i "s|^DEMO_ALLOWED_HOSTS=.*|DEMO_ALLOWED_HOSTS=${HOSTS}|" .env + echo -e "${C_EXITO}✅ Fitxer .env actualitzat amb DEMO_ALLOWED_HOSTS=${HOSTS}${RESET}" + else + echo -e "${C_INFO}⚠️ No s'ha introduït cap domini/IP. Es manté buit.${RESET}" + fi +else + echo -e "${C_INFO}ℹ️ No s'ha modificat DEMO_ALLOWED_HOSTS. Es manté buit.${RESET}" +fi + +# --- 6. Posar en marxa els contenidors --- + +# Comprovant que l'arxiu .env existeix +if [ -f .env ]; then + set -a + source .env # carregar DB_USER, etc. + set +a +else + finalitzar_amb_error "⚠️ No s'ha trobat el fitxer .env. No es pot comprovar l'estat de la base de dades." +fi + +echo +echo -e "${C_INFO}🕓 Posant en marxa els contenidors de la Demo i de la Base de Dades PostgreSQL...${RESET}" +echo +make build +make serve +echo + +# --- 7. Informació sobre els contenidors en marxa --- + +echo +echo -e "${C_INFO}--------------------------------------------${RESET}" +echo -e "${C_INFO}📦 Estat final de l'estat dels contenidors ${RESET}" +echo -e "${C_INFO}--------------------------------------------${RESET}" +docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" +echo -e "${C_INFO}--------------------------------------------${RESET}" +echo +echo + +# --- 8. Espera a la finalització de la preparació --- + +echo -e "${C_INFO}Progrès de preparació de la base de dades i del servidor de la demo (logs).${RESET}" +echo -e "${C_INFO}El procés finalitzarà automàticament quan el servidor estigui llest.${RESET}" +echo -e "${C_INFO}---------------------------------------------------------------------------${RESET}" +echo -e "\n" + +# Iniciem el bucle de lectura de logs +docker logs -f demo_web 2>&1 | while read -r line; do + + # 1. Bloc per ocultar els SyntaxWarning, per neteja visual. Si, per dev, es vol veure tota la sortida cal fer make logs + if [[ "$line" == *"SyntaxWarning"* ]]; then + continue + fi + + # 2. Imprimim la línia en gris per diferenciar-la del script + echo -e "${GRIS}${line}${RESET}" + + # 3. Condició de sortida: Quan Django ens diu que ja escolta al port 8000 + if [[ "$line" == *"Starting development server at"* ]]; then + echo -e "${C_INFO}----------------------------------------------------------------------------------------${RESET}" + echo -e "\n" + echo -e "${C_EXITO}✅ EL SERVIDOR ESTÀ PREPARAT.${RESET}" + # Matem el procés 'docker logs' per sortir del bucle 'while' + pkill -P $$ -f "docker logs" + break + fi +done + +# --- 9. Missatge final --- + +echo -e "\n" +sleep 1 + +echo -e "${C_INFO}----------------------------------------------------------------------------------------" +echo -e "ℹ️ Informació addicional${RESET}" +echo -e "\n" +echo -e "${C_INFO}Instruccions disponibles amb la comanda **make** per la Demo:${RESET}" +echo -e "${C_INFO} 1. Si no està en marxa, executi: ${RESET}${CIANO}make serve${RESET}" +echo -e "${C_INFO} 2. Per veure els logs: ${RESET}${CIANO}make logs${RESET}" +echo -e "${C_INFO} 3. Per detenir la Demo: ${RESET}${CIANO}make stop${RESET}" +echo -e "${C_INFO} 4. Per eliminar els contenidors: ${RESET}${CIANO}make down${RESET}${C_INFO} i després -> docker system prune -a" + +echo +echo -e "🌐 Si ha definit IP o dominis a DEMO_ALLOWED_HOSTS, provi ara d'accedir-hi al navegador!" +echo -e " (p. ex. http://demo.elteudomini.cat:8000 o http://IP:8000)${RESET}" +echo diff --git a/docker/install_quick_demo_docker.sh b/docker/install_quick_demo_docker.sh deleted file mode 100644 index e79ba479..00000000 --- a/docker/install_quick_demo_docker.sh +++ /dev/null @@ -1,219 +0,0 @@ -#!/bin/bash -# ------------------------------------------------------------- -# Script per a la instal·lació ràpida de la Demo Docker de django-aula. -# Descarrega els fitxers de configuració essencials i comprova la base de dades. -# ------------------------------------------------------------- - -# --- 1. Informació del repositori --- - -REPO="ctrl-alt-d/django-aula" -BRANCA="master" -URL_BASE="https://raw.githubusercontent.com/${REPO}/refs/heads/${BRANCA}/docker" - -clear -echo -e "⚙️ Iniciant instal·lació ràpida de la Demo en Docker...\n" -echo - -# ---------------------------------------------------------------------- -# --- 1.1. CLONACIÓ DEL REPOSITORI -# ---------------------------------------------------------------------- - -echo "------- Clonant repositori ----------------------------" -echo "-------------------------------------------------------" -echo -e "\n" - -# --- Instal·lar git si cal --- - -echo "🔧 Comprovant que 'git' estigui instal·lat..." -if ! command -v git &> /dev/null; then - echo " Instal·lant 'git'..." - sudo apt-get update -y >/dev/null 2>&1 - sudo apt-get install -y git - if ! command -v git &> /dev/null; then - echo " ERROR a la instal·lació de 'git'" - exit 1 - fi -else - echo " ✅ 'git' ja està disponible." -fi - -FULL_PATH="./djau" -REPO_URL="https://github.com/${REPO}.git" # repositori del projecte -GIT_BRANCH=${BRANCA} # Si es vol instal·lar una branca concreta. Exemple: "feat/upgrade-bootstrap" - -# COMPROVACIÓ: El directori existeix i no està buit? -if [ -d "$FULL_PATH" ] && [ "$(ls -A "$FULL_PATH")" ]; then - rm -Rf $FULL_PATH -fi -echo -e "Clonant $REPO_URL, branca '$GIT_BRANCH' en $FULL_PATH." - -# Clonar el repositori com l'usuari de l'aplicació, forçant la branca especificada -git clone -b "$GIT_BRANCH" "$REPO_URL" "$FULL_PATH" - -if [ $? -ne 0 ]; then - echo -e "❌ ERROR: Fallida en clonar la branca '$GIT_BRANCH' del repositori '$REPO_URL'." - echo "Comprovi la URL, conexió a internet o permisos de l'usuari." - echo -e "\n" - exit 1 -fi -echo -e "✅ Repositori clonat (Branca: $GIT_BRANCH) a '$FULL_PATH'." - - -echo -e "\n" -sleep 3 - -# --- 2. Fitxers a descarregar --- - -FILES_TO_DOWNLOAD=( - "Dockerfile" - "docker-compose.demo.automatica.yml" - "Makefile.demo.automatica" - "env.demo.automatica" -) -DEST_FILES=( - "Dockerfile" - "docker-compose.yml" - "Makefile" - ".env" - ) - - -# --- 3. Descarregar fitxers de configuració i dades --- - -echo "📦 Descarregant fitxers necessaris..." - -for i in "${!FILES_TO_DOWNLOAD[@]}"; do - ORIGIN="${FILES_TO_DOWNLOAD[$i]}" - DEST="${DEST_FILES[$i]}" - - # Crear el directori si no existeix - mkdir -p "$(dirname "${DEST}")" - - echo " -> Descarregant ${ORIGIN} com a ${DEST}..." - if cp "${FULL_PATH}/docker/${ORIGIN}" "${DEST}"; then - echo " ✅ Fitxer ${DEST} descarregat correctament." - else - echo " ❌ Error en descarregar ${ORIGIN}." - exit 1 - fi - - echo -done - -echo "✅ Tots els fitxers s'han descarregat correctament." -echo - -ls -lah Dockerfile docker-compose.yml Makefile .env - -echo - - -# --- 4. Instal·lar make si cal --- - -echo "🔧 Comprovant que 'make' estigui instal·lat..." -if ! command -v make &> /dev/null; then - echo " Instal·lant 'make'..." - sudo apt-get update -y >/dev/null 2>&1 - sudo apt-get install -y make - if ! command -v make &> /dev/null; then - echo " ERROR a la instal·lació de 'make'" - exit 1 - fi -else - echo " ✅ 'make' ja està disponible." -fi - - -# --- 5. Pregunta pel domini o IP --- - -echo -echo "🌍 Si la Demo ha de funcionar en una xarxa local cal definir quina IP té. Si es vol instal·lar en un servidor en internet (VPS) caldrà informar de la seva IP pública i del domini o subdomini, si n'hi ha." -echo -e "\n" -read -p "Vol afegir un domini o IP a **DEMO_ALLOWED_HOSTS** per poder accedir-hi externament a la Demo? (y/n): " REPLY - -if [[ $REPLY =~ ^[Yy]$ ]]; then - read -p "👉 Introdueix els dominis o IPs separats per comes (ex: demo.elteudomini.cat,192.168.1.46): " HOSTS - if [ -n "$HOSTS" ]; then - sed -i "s|^DEMO_ALLOWED_HOSTS=.*|DEMO_ALLOWED_HOSTS=${HOSTS}|" .env - echo "✅ Fitxer .env actualitzat amb DEMO_ALLOWED_HOSTS=${HOSTS}" - else - echo "⚠️ No s'ha introduït cap domini/IP. Es manté buit." - fi -else - echo "ℹ️ No s'ha modificat DEMO_ALLOWED_HOSTS. Es manté buit." -fi - - -# --- 6. Posar en marxa els contenidors --- - -# Comprovant que l'arxiu .env existeix -if [ -f .env ]; then - set -a - source .env # carregar DB_USER, etc. - set +a -else - echo "⚠️ No s'ha trobat el fitxer .env. No es pot comprovar l'estat de la base de dades." - exit 1 -fi - -echo -echo "🕓 Posant en marxa els contenidors de la Demo i de la Base de Dades PostgreSQL..." -echo -make build -make serve -echo - -# --- 7. Esperar que la base de dades estigui llesta --- - -echo -echo "⌛ Esperant que la base de dades estigui llesta (pot trigar uns segons)..." -TIMEOUT=60 -COUNT=0 -until docker exec demo_db pg_isready -U "$DB_USER" >/dev/null 2>&1; do - sleep 2 - ((COUNT+=2)) - if [ $COUNT -ge $TIMEOUT ]; then - echo "❌ Error: la base de dades no ha respost en $TIMEOUT segons." - echo " Revisa els logs amb: docker logs demo_db" - exit 1 - fi -done -echo " ✅ PostgreSQL està llest!" - -echo -echo "--------------------------------------------" -echo "📦 Estat final de l'estat dels contenidors" -echo "--------------------------------------------" -docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" -echo "--------------------------------------------" -echo -echo - -# --- 8. Espera a la finalització de la preparació --- - -echo "Premi qualsevol tecla per continuar i mostrar el progrés de la preparació de la demo." -read -p "posteriorment CTRL-C per deixar de mostrar la informació." -n1 -s - -docker logs -f demo_web - -# --- 9. Missatge final --- - -echo -echo -echo "Finalització de l'automatització!" - -echo -echo -echo "ℹ️ Informació addicional" -echo -echo "Instruccions disponibles amb la comanda **make** per la Demo:" -echo " 1. Si no està en marxa, executi: make serve" -echo " 2. Per veure els logs: make logs" -echo " 3. Per detenir la Demo: make stop" -echo " 4. Per eliminar els contenidors: make down i després -> docker system prune -a" - -echo -echo "🌐 Si ha definit IP o dominis a DEMO_ALLOWED_HOSTS, provi ara d'accedir-hi al navegador!" -echo " (p. ex. http://demo.elteudomini.cat:8000 o http://IP:8000)" -echo - diff --git a/setup_djau/functions.sh b/setup_djau/functions.sh index 641af007..d63b1d26 100755 --- a/setup_djau/functions.sh +++ b/setup_djau/functions.sh @@ -16,6 +16,7 @@ ROJO='\e[31m' CIANO='\e[36m' AMARILLO='\e[33m' MAGENTA='\e[35m' +GRIS='\033[0;90m' # Gris clar (ideal per a logs) # Estils compostos C_EXITO="${NEGRITA}${VERDE}" # Éxit i confirmacions (✅) @@ -23,7 +24,7 @@ C_ERROR="${NEGRITA}${ROJO}" # Errors o fallades (❌) C_PRINCIPAL="${NEGRITA}${AZUL}" # Fases principals (FASE 1, FASE 2) C_CAPITULO="${NEGRITA}${CIANO}" # Títuls de Capítul (1. DEFINICIÓ...) C_SUBTITULO="${NEGRITA}${MAGENTA}" # Títuls de Subcapítul (1.1, 1.2) -C_INFO="${NEGRITA}${AMARILLO}" # Informació important (INFO, ATENCIÓN) +C_INFO="${NEGRITA}${AMARILLO}" # Informació important (INFO, ATENCIÓ) # ===========================================================================