Pular para o conteúdo principal

Setup do Servidor — Sprint 0

Pré-requisitos

  • Servidor Hetzner CCX33 provisionado (Ubuntu 24.04)
  • Domínio funilchatbot.com.br no Cloudflare
  • Chave SSH local gerada

1. Configurar DNS (Cloudflare)

A funilchatbot.com.br → IP_DO_SERVIDOR Proxy: ON
A api.funilchatbot.com.br → IP_DO_SERVIDOR Proxy: OFF ← WebSocket!
A docs.funilchatbot.com.br → IP_DO_SERVIDOR Proxy: ON
A hml.funilchatbot.com.br → IP_DO_SERVIDOR Proxy: ON
A monitor.funilchatbot.com.br → IP_DO_SERVIDOR Proxy: OFF

2. Hardening do servidor

# Mudar porta SSH
sed -i 's/#Port 22/Port 2847/' /etc/ssh/sshd_config
systemctl restart sshd

# Atualizar sistema
apt update && apt upgrade -y
apt install -y git curl wget unzip ufw fail2ban jq

# Docker
curl -fsSL https://get.docker.com | sh

# Firewall
ufw default deny incoming
ufw allow 2847/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

3. Clonar e configurar

cd /root
git clone git@github.com:ebuz-ia/funil-chatbot.git
cd funil-chatbot
cp .env.example .env
nano .env # preencher todos os SECRETs

# Gerar segredos
openssl rand -hex 32 # JWT_SECRET
openssl rand -hex 32 # REFRESH_TOKEN_SECRET
openssl rand -hex 32 # ENCRYPTION_KEY

4. Subir containers

# Infra primeiro
docker compose up -d postgres redis minio
sleep 10

# Rodar migrations
docker compose run --rm funil-api node dist/db/migrate.js

# Subir tudo
docker compose up -d
docker compose ps # todos devem estar "Up"

5. Verificação final

curl https://api.funilchatbot.com.br/health
# → {"status":"ok"}

curl https://funilchatbot.com.br
# → HTML da SPA