4.2 KiB
4.2 KiB
🚀 Guia de Deploy via SSH - Liberi Kids
⚡ Deploy Automático em 2 Comandos
Método 1: Script Automatizado (Recomendado)
# 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
# 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:
# Conecte no servidor e edite
ssh usuario@servidor
cd app_estoque
nano .env
Configure estas variáveis:
# 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:
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:
# 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:
# Re-executar o script de deploy
./deploy-to-server.sh usuario@servidor
🔒 Configurações de Segurança
Firewall (Ubuntu/Debian):
ssh usuario@servidor '
sudo ufw allow 5000
sudo ufw enable
'
Nginx (Opcional - Para usar porta 80):
ssh usuario@servidor '
sudo apt install nginx
sudo nano /etc/nginx/sites-available/liberi-kids
'
Configuração 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"
# Solução: Configurar chaves SSH
ssh-copy-id usuario@servidor
Erro: "Port 5000 already in use"
ssh usuario@servidor 'sudo lsof -ti:5000 | xargs kill -9'
Erro: "Node.js not found"
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"
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:
ssh usuario@servidor 'pm2 logs liberi-kids --lines 50'
Monitoramento:
ssh usuario@servidor 'pm2 monit'
Backup Manual:
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