Files
2025-11-13 01:11:01 +01:00

66 lines
2.1 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
set -e
USERS_FILE="config/users"
ADMIN_USER="admin"
echo "🔐 Creando usuario administrador para Radicale..."
# Verificar que htpasswd esté disponible
if ! command -v htpasswd >/dev/null 2>&1; then
echo "❌ htpasswd no encontrado. Instalando apache2-utils..."
if command -v apt >/dev/null 2>&1; then
sudo apt update && sudo apt install -y apache2-utils
elif command -v yum >/dev/null 2>&1; then
sudo yum install -y httpd-tools
elif command -v pacman >/dev/null 2>&1; then
sudo pacman -S apache-tools
else
echo "❌ No se pudo instalar htpasswd automáticamente"
echo "💡 Instala manualmente: apache2-utils (Ubuntu/Debian) o httpd-tools (RHEL/CentOS)"
exit 1
fi
fi
# Crear directorio config si no existe
mkdir -p config
# Verificar si ya existe el usuario admin
if [ -f "$USERS_FILE" ] && grep -q "^$ADMIN_USER:" "$USERS_FILE"; then
echo "⚠️ El usuario '$ADMIN_USER' ya existe."
read -rp "¿Deseas cambiar su contraseña? (s/n): " change_password
if [[ "$change_password" =~ ^[sS]$ ]]; then
echo "🔄 Cambiando contraseña para '$ADMIN_USER'..."
htpasswd -B "$USERS_FILE" "$ADMIN_USER"
else
echo "🚫 Operación cancelada."
exit 0
fi
else
# Crear archivo de usuarios si no existe
if [ ! -f "$USERS_FILE" ]; then
touch "$USERS_FILE"
echo "📁 Archivo de usuarios creado: $USERS_FILE"
fi
echo " Creando usuario '$ADMIN_USER'..."
htpasswd -B "$USERS_FILE" "$ADMIN_USER"
fi
echo ""
echo "✅ Usuario administrador configurado correctamente"
echo "📝 Usuario: $ADMIN_USER"
echo "📂 Archivo: $USERS_FILE"
echo ""
# Reiniciar Radicale si está corriendo
if docker ps --format 'table {{.Names}}' | grep -q radicale; then
echo "🔄 Reiniciando contenedor Radicale..."
docker compose restart radicale >/dev/null 2>&1
echo "✅ Radicale reiniciado"
else
echo "️ Para aplicar los cambios, ejecuta: docker compose up -d"
fi
echo ""
echo "🎉 ¡Listo! Puedes usar '$ADMIN_USER' para acceder a Radicale"