# 🚀 Guia de Deploy via SSH - Liberi Kids ## ⚡ Deploy Automático em 2 Comandos ### **Método 1: Script Automatizado (Recomendado)** ```bash # 1. Execute o script automático ./deploy-to-server.sh usuario@ip-do-servidor # Exemplo: ./deploy-to-server.sh root@192.168.1.100 ./deploy-to-server.sh ubuntu@meuservidor.com ``` ### **Método 2: Manual Passo a Passo** ```bash # 1. Copiar arquivos para o servidor rsync -avz --progress --exclude 'node_modules' ./ usuario@servidor:~/app_estoque/ # 2. Conectar no servidor ssh usuario@servidor # 3. Navegar para o projeto cd app_estoque # 4. Configurar .env cp .env.example .env nano .env # Configure suas credenciais # 5. Executar deploy chmod +x scripts/deploy-local.sh ./scripts/deploy-local.sh ``` --- ## 🔧 **Configuração do Arquivo .env** Após o deploy, você DEVE configurar o arquivo `.env` no servidor: ```bash # Conecte no servidor e edite ssh usuario@servidor cd app_estoque nano .env ``` **Configure estas variáveis:** ```env # Suas credenciais do Supabase SUPABASE_URL=https://seu-projeto.supabase.co SUPABASE_ANON_KEY=sua_chave_anonima_aqui # Configurações do servidor NODE_ENV=production PORT=5000 ``` **Após configurar, reinicie:** ```bash pm2 restart liberi-kids ``` --- ## 🌐 **Acessar a Aplicação** Após o deploy bem-sucedido: - **Local:** `http://localhost:5000` (no servidor) - **Rede:** `http://IP-DO-SERVIDOR:5000` - **Domínio:** `http://seu-dominio.com:5000` --- ## 📋 **Comandos Úteis** ### **Gerenciar Aplicação:** ```bash # Ver status ssh usuario@servidor 'pm2 status' # Ver logs ssh usuario@servidor 'pm2 logs liberi-kids' # Reiniciar ssh usuario@servidor 'pm2 restart liberi-kids' # Parar ssh usuario@servidor 'pm2 stop liberi-kids' ``` ### **Atualizar Aplicação:** ```bash # Re-executar o script de deploy ./deploy-to-server.sh usuario@servidor ``` --- ## 🔒 **Configurações de Segurança** ### **Firewall (Ubuntu/Debian):** ```bash ssh usuario@servidor ' sudo ufw allow 5000 sudo ufw enable ' ``` ### **Nginx (Opcional - Para usar porta 80):** ```bash ssh usuario@servidor ' sudo apt install nginx sudo nano /etc/nginx/sites-available/liberi-kids ' ``` **Configuração Nginx:** ```nginx server { listen 80; server_name seu-dominio.com; location / { proxy_pass http://localhost:5000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } ``` --- ## 🚨 **Resolução de Problemas** ### **Erro: "Permission denied"** ```bash # Solução: Configurar chaves SSH ssh-copy-id usuario@servidor ``` ### **Erro: "Port 5000 already in use"** ```bash ssh usuario@servidor 'sudo lsof -ti:5000 | xargs kill -9' ``` ### **Erro: "Node.js not found"** ```bash ssh usuario@servidor ' curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt-get install -y nodejs ' ``` ### **Erro: "PM2 not found"** ```bash ssh usuario@servidor 'npm install -g pm2' ``` --- ## 📱 **Recursos da Aplicação** Após o deploy, você terá acesso a: - ✅ **Dashboard Completo** com contabilidade real - ✅ **Controle de Produtos** com fotos e variações - ✅ **Gestão de Vendas** com WhatsApp integrado - ✅ **Sistema de Empréstimos** para Maiara - ✅ **Exportação Google Sheets** automática - ✅ **Alertas WhatsApp** para cobranças - ✅ **Interface Responsiva** (funciona no celular) --- ## 🎯 **Checklist Pós-Deploy** - [ ] ✅ Aplicação rodando (pm2 status) - [ ] ✅ Arquivo .env configurado - [ ] ✅ Supabase conectado - [ ] ✅ Firewall configurado - [ ] ✅ Backup configurado - [ ] ✅ Domínio configurado (opcional) - [ ] ✅ SSL configurado (opcional) - [ ] ✅ Usuários treinados --- ## 📞 **Suporte** ### **Logs de Erro:** ```bash ssh usuario@servidor 'pm2 logs liberi-kids --lines 50' ``` ### **Monitoramento:** ```bash ssh usuario@servidor 'pm2 monit' ``` ### **Backup Manual:** ```bash ssh usuario@servidor 'cd app_estoque && tar -czf backup-$(date +%Y%m%d).tar.gz .' ``` --- **🎉 Sua aplicação Liberi Kids estará rodando em produção!** Para suporte detalhado, consulte: `DEPLOY-GUIDE.md`