66 lines
2.1 KiB
Bash
Executable File
66 lines
2.1 KiB
Bash
Executable File
#!/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" |