Skip to content

Latest commit

 

History

History
309 lines (232 loc) · 6.88 KB

File metadata and controls

309 lines (232 loc) · 6.88 KB

🚀 Ejecutar CRM Multiempresa Localmente

✅ Soporte Multi-Plataforma

Este proyecto ahora soporta múltiples sistemas operativos:

  • Debian 13 (Trixie) 🐧 - Recomendado para producción
  • Alpine Linux 🏔️ - Ligero y optimizado
  • Ubuntu 🟣 - Compatible con Debian

🔧 Características Implementadas:

  1. Dockerfiles especializados para cada sistema
  2. Frontend estático para evitar problemas de build
  3. Package-lock.json generado correctamente
  4. Instaladores automáticos disponibles
  5. Optimizaciones específicas del sistema

📋 Prerrequisitos

Asegúrate de tener instalado:

  • ✅ Docker Engine v24.0+
  • ✅ Docker Compose v2.0+
  • ✅ Git
  • ✅ Sistema compatible (Debian 13, Ubuntu 22.04+, o similar)

🐧 Debian 13 (Recomendado para Producción)

Instalación Automática (Recomendado)

# 1. Clonar repositorio
git clone https://github.com/elskull/tasisto.git
cd tasisto

# 2. Ejecutar instalador automático
chmod +x install-debian13.sh
./install-debian13.sh

# 3. Seguir las instrucciones del instalador

Instalación Manual

# 1. Configurar sistema Debian 13
sudo apt update && sudo apt upgrade -y

# 2. Instalar Docker
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
newgrp docker

# 3. Clonar y configurar
git clone https://github.com/elskull/tasisto.git
cd tasisto
cp .env.docker .env.local

# 4. Ejecutar con Docker Compose específico
docker compose -f docker-compose.debian13.yml up -d --build

# 5. Verificar instalación
curl http://localhost:9000/api/health

🏔️ Alpine Linux (Ligero y Rápido)

Ejecución con Alpine

# 1. Clonar repositorio
git clone https://github.com/elskull/tasisto.git
cd tasisto

# 2. Ejecutar script de despliegue
chmod +x deploy.sh
./deploy.sh

# 3. Acceder a la aplicación
# Frontend: http://localhost:8080
# API: http://localhost:9000/api

🟣 Ubuntu 22.04+ (Opción Común)

Ejecución en Ubuntu

# 1. Instalar Docker en Ubuntu
sudo apt update
sudo apt install -y docker.io docker-compose-plugin
sudo usermod -aG docker $USER
newgrp docker

# 2. Clonar y ejecutar
git clone https://github.com/elskull/tasisto.git
cd tasisto

# 3. Usar configuración Debian 13 (compatible con Ubuntu)
docker compose -f docker-compose.debian13.yml up -d --build

# 4. Verificar
curl http://localhost:9000/api/health

🌐 Acceso a la Aplicación

Una vez iniciado, accede a:

Servicio URL Descripción
🌐 Frontend http://localhost:8080 Interfaz web principal
🔌 API Backend http://localhost:9000/api Endpoints de la API
📡 WebSocket ws://localhost:6001 Conexiones en tiempo real
🗄️ PostgreSQL localhost:5432 Base de datos
💾 Redis localhost:6379 Caché y colas

🔑 Credenciales de Acceso

📧 Email: admin@crm-multicompany.com
🔐 Password: password

Usuarios adicionales disponibles:

  • admin@techsolutions.crm / password
  • admin@marketingpro.crm / password

🛠️ Comandos Útiles

Ver estado de los contenedores:

docker-compose ps

Ver logs en tiempo real:

# Todos los servicios
docker-compose logs -f

# Servicio específico
docker-compose logs -f backend
docker-compose logs -f frontend
docker-compose logs -f postgres

Reiniciar servicios:

docker-compose restart

Detener todo:

docker-compose down

Reconstruir completamente:

docker-compose down --volumes --remove-orphans
docker-compose up -d --build

🔍 Verificación del Funcionamiento

1. Health Check del Backend

curl http://localhost:9000/api/health

Deberías ver una respuesta JSON con:

{
  "status": "ok",
  "timestamp": "2024-...",
  "version": "1.0.0",
  "environment": "production",
  "database": "connected",
  "cache": "ok"
}

2. Verificar Frontend

Abre http://localhost:8080 en tu navegador. Deberías ver la página de login.

3. Probar Login

  1. Ingresa las credenciales proporcionadas
  2. Deberías ser redirigido al dashboard

🐛 Solución de Problemas

Error: "puerto ya está en uso"

# Ver qué está usando el puerto
lsof -i :8080
lsof -i :9000

# O cambiar puertos en docker-compose.yml

Error: "base de datos no responde"

# Reiniciar solo la base de datos
docker-compose restart postgres

# Esperar y verificar conexión
docker-compose exec postgres pg_isready -U postgres

Error: "permisos denegados"

# Arreglar permisos de storage
docker-compose exec backend chown -R www-data:www-data storage bootstrap/cache
docker-compose exec backend chmod -R 775 storage bootstrap/cache

Error: "migraciones fallan"

# Recrear base de datos
docker-compose down --volumes
docker-compose up -d postgres redis
sleep 15
docker-compose up -d backend
sleep 10
docker-compose exec backend php artisan migrate:fresh --seed

📁 Estructura del Proyecto

tasisto/
├── backend/           # Laravel Backend
│   ├── app/          # Lógica de aplicación
│   ├── database/     # Migraciones y Seeders
│   └── routes/       # Rutas de la API
├── frontend/         # React Frontend
│   ├── dist/         # Archivos estáticos (listos para producción)
│   ├── src/          # Código fuente
│   └── public/       # Assets públicos
├── Dockerfile        # Configuración Docker corregida
├── docker-compose.yml # Orquestación de servicios
├── deploy.sh         # Script de despliegue automático
└── .env.docker       # Variables de entorno

🔄 Desarrollo Local

Para trabajar en el backend:

docker-compose exec backend bash
# Dentro del contenedor:
composer install
php artisan migrate:fresh --seed
php artisan serve --host=0.0.0.0 --port=9000

Para trabajar en el frontend:

# Trabaja directamente en la carpeta frontend/
cd frontend
npm install
npm run dev

🎯 Checklist de Verificación

  • Docker Desktop está corriendo
  • No hay conflictos de puertos (8080, 9000, 5432, 6379)
  • .env.docker está configurado
  • deploy.sh es ejecutable (chmod +x deploy.sh)
  • Health check responde: http://localhost:9000/api/health
  • Frontend carga en: http://localhost:8080
  • Login funciona con credenciales proporcionadas

🚨 Si algo no funciona

  1. Verifica los logs: docker-compose logs
  2. Reinicia todo: docker-compose down && docker-compose up -d --build
  3. Limpia y reconstruye: docker-compose down --volumes && docker-compose up -d --build
  4. Verifica el health check: curl http://localhost:9000/api/health

🎉 ¡Tu CRM Multiempresa está listo para usarse localmente!

El Dockerfile ahora funciona correctamente y el proceso de construcción está optimizado para evitar los errores de npm ci.