Files
Hotwives/SETUP.md
root 5e4a2283bf Initial commit: HotWives Platform completa
- 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
2025-11-22 01:00:35 +00:00

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

  1. 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
  1. Atualizações: Mantenha o sistema sempre atualizado
sudo apt update && sudo apt upgrade -y
  1. Backups: Configure backups automáticos do banco de dados

  2. Senhas: Use senhas fortes para PostgreSQL e JWT_SECRET

  3. SSL: Renove certificados SSL automaticamente com Certbot

Suporte

Para suporte, entre em contato através de: