sistema-de-chamados/docs/SETUP.md
esdrasrenan 2c95834598
Some checks failed
CI/CD Web + Desktop / Detect changes (push) Successful in 5s
Quality Checks / Lint, Test and Build (push) Successful in 4m34s
CI/CD Web + Desktop / Deploy Convex functions (push) Has been skipped
CI/CD Web + Desktop / Deploy (VPS Linux) (push) Failing after 4m37s
chore: desativa GitHub Actions e adiciona docs de setup
- Move .github/workflows para .github/workflows.disabled
- Adiciona docs/SETUP.md com guia de setup em novo computador
- Adiciona scripts/setup-dev.sh para setup automatizado
- Remove GitHub Actions runner da VPS (agora usa apenas Forgejo)

CI/CD agora e feito exclusivamente via Forgejo Actions.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 22:43:14 -03:00

3.8 KiB

Setup em Novo Computador

Guia rapido para configurar o ambiente de desenvolvimento em uma nova maquina.

Pre-requisitos

  • Git instalado
  • Bun 1.3+ (bun.sh)
  • Docker (para PostgreSQL local)
  • Node.js 20+ (opcional, para algumas ferramentas)

Instalar Bun (se ainda nao tiver)

# Linux/macOS/WSL
curl -fsSL https://bun.sh/install | bash

# Windows (PowerShell)
powershell -c "irm bun.sh/install.ps1 | iex"

Setup Rapido

1. Clonar o repositorio

git clone https://github.com/esdrasrenan/sistema-de-chamados.git
cd sistema-de-chamados

Ou se ja tiver o repositorio:

cd sistema-de-chamados
git pull origin main

2. Configurar remotes (para CI/CD)

# Adicionar remote do Forgejo (dispara CI/CD)
git remote add forgejo https://git.esdrasrenan.com.br/esdras/sistema-de-chamados.git

# Verificar remotes
git remote -v
# Deve mostrar:
#   origin   https://github.com/esdrasrenan/sistema-de-chamados.git (fetch)
#   origin   https://github.com/esdrasrenan/sistema-de-chamados.git (push)
#   forgejo  https://git.esdrasrenan.com.br/esdras/sistema-de-chamados.git (fetch)
#   forgejo  https://git.esdrasrenan.com.br/esdras/sistema-de-chamados.git (push)

3. Instalar dependencias

bun install

4. Configurar banco de dados

# Subir PostgreSQL via Docker
docker run -d \
  --name postgres-dev \
  -p 5432:5432 \
  -e POSTGRES_PASSWORD=dev \
  -e POSTGRES_DB=sistema_chamados \
  postgres:16

# Criar arquivo .env
cp .env.example .env

Edite o .env e configure:

DATABASE_URL=postgresql://postgres:dev@localhost:5432/sistema_chamados
BETTER_AUTH_SECRET=sua-chave-secreta-aqui
NEXT_PUBLIC_APP_URL=http://localhost:3000
BETTER_AUTH_URL=http://localhost:3000

5. Inicializar o banco

# Gerar cliente Prisma
bun run prisma:generate

# Criar tabelas no banco
bunx prisma db push

# Popular dados iniciais
bun run auth:seed

6. Rodar o projeto

bun run dev:bun

Acesse: http://localhost:3000

Credenciais padrao: admin@sistema.dev / admin123

Comandos Uteis

Comando Descricao
bun run dev:bun Iniciar servidor de desenvolvimento
bun run build:bun Build de producao
bun run lint Verificar codigo (ESLint)
bun test Rodar testes
bun run prisma:generate Gerar cliente Prisma
bunx prisma studio Interface visual do banco

Fluxo de Trabalho com Git

Push para ambos os remotes (recomendado)

# Fazer alteracoes
git add .
git commit -m "sua mensagem"

# Push para GitHub (backup) e Forgejo (CI/CD)
git push origin main && git push forgejo main

Configurar alias para push duplo (opcional)

# Criar alias
git config alias.push-all '!git push origin main && git push forgejo main'

# Usar
git push-all

Troubleshooting

Erro: "bun: command not found"

# Adicionar Bun ao PATH
export PATH="$HOME/.bun/bin:$PATH"

# Adicionar permanentemente ao ~/.bashrc ou ~/.zshrc
echo 'export PATH="$HOME/.bun/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Erro: Prisma "P2021" / tabelas nao existem

bunx prisma db push
bun run auth:seed

Erro: Lockfile desatualizado

bun install

PostgreSQL nao conecta

# Verificar se o container esta rodando
docker ps

# Se nao estiver, iniciar
docker start postgres-dev

# Ou recriar
docker rm -f postgres-dev
docker run -d --name postgres-dev -p 5432:5432 -e POSTGRES_PASSWORD=dev -e POSTGRES_DB=sistema_chamados postgres:16

Convex (Backend de Tempo Real)

Para desenvolvimento com Convex local:

# Terminal 1: Convex dev server
bun run convex:dev:bun

# Terminal 2: Next.js
bun run dev:bun

Mais Informacoes

  • Desenvolvimento detalhado: docs/DEV.md
  • Deploy e operacoes: docs/DEPLOY-RUNBOOK.md
  • CI/CD Forgejo: docs/FORGEJO-CI-CD.md