- Backend completo com Express, TypeScript e Prisma - Sistema de autenticação JWT - API REST com todas as funcionalidades - Sistema de mensagens e chat em tempo real (Socket.io) - Upload e gerenciamento de fotos - Sistema de perfis com verificação - Busca avançada com filtros - Sistema de eventos - Dashboard administrativo - Frontend Next.js 14 com TypeScript - Design moderno com Tailwind CSS - Componentes UI com Radix UI - Tema dark/light - Configuração Nginx pronta para produção - Scripts de instalação e deploy - Documentação completa
4.6 KiB
4.6 KiB
Guia de Instalação - HotWives Platform
Requisitos
- Ubuntu/Debian Linux
- Node.js 18+
- PostgreSQL 14+
- Nginx
- Certificado SSL (Certbot/Let's Encrypt)
Instalação Automática
cd /var/www/hotwives
sudo chmod +x install.sh
sudo ./install.sh
Instalação Manual
1. Instalar Dependências do Sistema
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git nginx postgresql postgresql-contrib
# Instalar Node.js
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo bash -
sudo apt install -y nodejs
2. Configurar PostgreSQL
sudo -u postgres psql
# No console do PostgreSQL:
CREATE DATABASE hotwives;
CREATE USER hotwives WITH ENCRYPTED PASSWORD 'sua_senha_forte';
GRANT ALL PRIVILEGES ON DATABASE hotwives TO hotwives;
\q
3. Configurar o Projeto
cd /var/www/hotwives
# Instalar dependências raiz
npm install
# Backend
cd backend
npm install
cp .env.example .env
# Edite o .env com suas configurações
nano .env
# Gerar Prisma Client e executar migrações
npx prisma generate
npx prisma migrate deploy
# Build
npm run build
# Frontend
cd ../frontend
npm install
npm run build
4. Configurar Nginx
sudo cp /var/www/hotwives/nginx.conf /etc/nginx/sites-available/hotwives
sudo ln -s /etc/nginx/sites-available/hotwives /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default
# Testar configuração
sudo nginx -t
# Reiniciar Nginx
sudo systemctl restart nginx
5. Configurar SSL com Let's Encrypt
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d hotwives.com.br -d www.hotwives.com.br
6. Instalar PM2 para Gerenciamento de Processos
sudo npm install -g pm2
# Iniciar aplicações
cd /var/www/hotwives
pm2 start ecosystem.config.js
# Salvar configuração
pm2 save
# Configurar PM2 para iniciar no boot
pm2 startup
Configuração do .env (Backend)
# Server
PORT=3001
NODE_ENV=production
FRONTEND_URL=https://hotwives.com.br
# Database
DATABASE_URL="postgresql://hotwives:sua_senha@localhost:5432/hotwives?schema=public"
# JWT
JWT_SECRET=gere_uma_chave_secreta_aleatoria_forte
JWT_EXPIRES_IN=7d
# Email (Gmail como exemplo)
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=seu_email@gmail.com
SMTP_PASS=sua_senha_de_app
EMAIL_FROM=noreply@hotwives.com.br
# Upload
MAX_FILE_SIZE=10485760
Comandos Úteis
PM2
# Ver status
pm2 status
# Ver logs
pm2 logs
# Reiniciar
pm2 restart all
# Parar
pm2 stop all
# Recarregar (zero downtime)
pm2 reload all
Prisma
cd /var/www/hotwives/backend
# Gerar client
npx prisma generate
# Executar migrações
npx prisma migrate deploy
# Abrir Prisma Studio (desenvolvimento)
npx prisma studio
Nginx
# Testar configuração
sudo nginx -t
# Reiniciar
sudo systemctl restart nginx
# Ver logs
sudo tail -f /var/log/nginx/hotwives-error.log
Backup do Banco de Dados
# Criar backup
pg_dump -U hotwives hotwives > backup_$(date +%Y%m%d_%H%M%S).sql
# Restaurar backup
psql -U hotwives hotwives < backup_20250101_120000.sql
Atualização
cd /var/www/hotwives
# Atualizar código (Git)
git pull origin main
# Backend
cd backend
npm install
npx prisma migrate deploy
npm run build
# Frontend
cd ../frontend
npm install
npm run build
# Reiniciar aplicações
pm2 reload all
Monitoramento
# Ver uso de recursos
pm2 monit
# Ver logs em tempo real
pm2 logs
# Métricas do sistema
pm2 list
Troubleshooting
Backend não inicia
cd /var/www/hotwives/backend
npm run build
pm2 restart hotwives-backend
pm2 logs hotwives-backend --lines 100
Erro de conexão com banco de dados
# Verificar se PostgreSQL está rodando
sudo systemctl status postgresql
# Testar conexão
psql -U hotwives -d hotwives -h localhost
Erro 502 Bad Gateway
# Verificar se as aplicações estão rodando
pm2 status
# Verificar logs do Nginx
sudo tail -f /var/log/nginx/hotwives-error.log
Segurança
- Firewall: Configure UFW para permitir apenas portas necessárias
sudo ufw allow 22 # SSH
sudo ufw allow 80 # HTTP
sudo ufw allow 443 # HTTPS
sudo ufw enable
- Atualizações: Mantenha o sistema sempre atualizado
sudo apt update && sudo apt upgrade -y
-
Backups: Configure backups automáticos do banco de dados
-
Senhas: Use senhas fortes para PostgreSQL e JWT_SECRET
-
SSL: Renove certificados SSL automaticamente com Certbot
Suporte
Para suporte, entre em contato através de:
- Email: suporte@hotwives.com.br
- Repositório: https://meurepositorio.com/sergio.correa/Hotwives.git