#!/bin/bash # Script para crear usuarios en Matrix set -e # Colores GREEN='\033[0;32m' BLUE='\033[0;34m' RED='\033[0;31m' YELLOW='\033[1;33m' NC='\033[0m' # Verificar que Synapse esté ejecutándose if ! docker ps | grep -q element_matrix_chat-synapse-1; then echo -e "${RED}❌ Synapse no está ejecutándose${NC}" echo -e "${BLUE}💡 Ejecuta: docker-compose up -d${NC}" exit 1 fi # Solicitar datos del usuario echo -e "${BLUE}👤 Creador de usuarios Matrix${NC}" echo read -p "Nombre de usuario: " username read -s -p "Contraseña: " password echo read -p "¿Es administrador? (y/N): " is_admin # Configurar flag de administrador admin_flag="" if [[ $is_admin =~ ^[Yy]$ ]]; then admin_flag="-a" echo -e "${YELLOW}⚠️ El usuario será administrador${NC}" fi echo -e "${BLUE}🔄 Creando usuario...${NC}" # Crear usuario if docker exec element_matrix_chat-synapse-1 register_new_matrix_user \ -c /data/homeserver.yaml \ -u "$username" \ -p "$password" \ $admin_flag \ http://localhost:8008; then echo -e "${GREEN}✅ Usuario '$username' creado exitosamente${NC}" echo echo -e "${BLUE}📍 Información del usuario:${NC}" echo -e " • Usuario: ${GREEN}$username${NC}" echo -e " • ID Matrix: ${GREEN}@$username:localhost${NC}" echo -e " • Contraseña: ${GREEN}[configurada]${NC}" if [[ $is_admin =~ ^[Yy]$ ]]; then echo -e " • Tipo: ${YELLOW}Administrador${NC}" else echo -e " • Tipo: ${GREEN}Usuario normal${NC}" fi echo echo -e "${BLUE}🌐 Para acceder:${NC}" echo -e " • Element Web: http://localhost:8081" echo -e " • Servidor: http://localhost:8008" else echo -e "${RED}❌ Error al crear el usuario${NC}" exit 1 fi