core/SETUP_GUIDE.md
Tiago Yamamoto e6d5bef07a feat: adiciona script de setup automático do Appwrite
- Cria setup-appwrite.js para automatizar criação de database e collections
- Adiciona node-appwrite e dotenv como dependências
- Cria SETUP_GUIDE.md com instruções detalhadas
- Script cria database DevOpsPlatform automaticamente
- Cria 4 collections com schemas corretos (servers, github_repos, audit_logs, cloud_accounts)
- Popula com dados de exemplo (4 servidores, 3 repos, 3 logs, 2 contas)
- Atualiza .env automaticamente com IDs gerados
- Novo comando: npm run setup:appwrite
2025-12-11 20:06:21 -03:00

4.3 KiB

Guia Rápido - Setup Automatizado Appwrite

🎯 O Que o Script Faz

O script setup-appwrite.js automatiza todo o setup do Appwrite:

Cria o Database "DevOpsPlatform"
Cria 4 Collections com schemas corretos:

  • servers: name, ip, status (enum: online/offline), region
  • github_repos: repo_name, url, last_commit, status
  • audit_logs: event, user_id, timestamp
  • cloud_accounts: provider, apiKey, label

Popula com dados de exemplo:

  • 4 servidores
  • 3 repositórios GitHub
  • 3 audit logs
  • 2 cloud accounts

Atualiza o arquivo .env automaticamente com todos os IDs gerados

📋 Passo 1: Obter API Key do Appwrite

  1. Acesse https://cloud.appwrite.io
  2. Entre no seu projeto (ID: 68be03580005c05fb11f)
  3. Vá em SettingsAPI Keys
  4. Clique em Create API Key
  5. Dê um nome: "Setup Script" ou "Admin Key"
  6. Importante: Marque TODOS os scopes (permissões)
  7. Clique em Create
  8. Copie a API Key (ela só aparece uma vez!)

📝 Passo 2: Adicionar API Key no .env

Edite o arquivo .env e preencha a linha 28:

APPWRITE_API_KEY=sua_api_key_aqui

Exemplo:

APPWRITE_API_KEY=standard_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6

🚀 Passo 3: Executar o Script

npm run setup:appwrite

Ou diretamente:

node setup-appwrite.js

O Que Você Verá

🚀 Iniciando setup do Appwrite...

📍 Endpoint: https://nyc.cloud.appwrite.io/v1
📁 Project ID: 68be03580005c05fb11f

📦 Criando Database "DevOpsPlatform"...
✅ Database criado: 67a1b2c3d4e5f6

📋 Criando collection "servers"...
✅ Collection "servers" criada: servers

📋 Criando collection "github_repos"...
✅ Collection "github_repos" criada: github_repos

📋 Criando collection "audit_logs"...
✅ Collection "audit_logs" criada: audit_logs

📋 Criando collection "cloud_accounts"...
✅ Collection "cloud_accounts" criada: cloud_accounts

🌱 Populando com dados de exemplo...

  ✅ Servidor criado: web-01
  ✅ Servidor criado: web-02
  ✅ Servidor criado: db-01
  ✅ Servidor criado: cache-01
  ✅ Repositório criado: core-platform
  ✅ Repositório criado: api-backend
  ✅ Repositório criado: mobile-app
  ✅ Log criado: User login
  ✅ Log criado: Server deployed
  ✅ Log criado: Configuration updated
  ✅ Conta criada: Cloudflare
  ✅ Conta criada: AWS

📝 Atualizando arquivo .env...
✅ Arquivo .env atualizado!

🎉 Setup concluído com sucesso!

📋 Resumo:
   Database ID: 67a1b2c3d4e5f6
   servers: servers
   github_repos: github_repos
   audit_logs: audit_logs
   cloud_accounts: cloud_accounts

✅ Arquivo .env atualizado com os IDs

🚀 Próximo passo: npm run dev:web

🔍 Verificar no Appwrite Console

Após executar, acesse https://cloud.appwrite.io e verifique:

  1. Databases: Deve aparecer "DevOpsPlatform"
  2. Collections: Dentro do database, 4 collections com dados
  3. Documents: Cada collection terá documentos de exemplo

🧪 Testar o Dashboard

npm run dev:web

Acesse http://localhost:5173 e faça login. O dashboard deve mostrar:

  • Servidores no widget Overview
  • Repositórios GitHub
  • Audit logs em tempo real no terminal

Troubleshooting

Erro: "APPWRITE_API_KEY is missing"

Solução: Preencha a APPWRITE_API_KEY no arquivo .env (linha 28)

Erro: "Invalid API Key"

Solução:

  1. Verifique se copiou a chave completa
  2. Confirme que a chave tem todos os scopes marcados
  3. Tente criar uma nova API Key

Erro: "Collection already exists" (409)

Solução: Isso é normal! O script detecta e usa as collections existentes.

Erro: "Permission denied"

Solução: A API Key precisa ter scopes de Admin. Recrie com todos os scopes marcados.

🔄 Executar Novamente

Você pode executar o script múltiplas vezes sem problemas:

  • Se database existe, ele usa o existente
  • Se collections existem, elas são reutilizadas
  • Dados duplicados são ignorados

📝 Próximos Passos

Após o setup bem-sucedido:

  1. Verificar .env foi atualizado com os IDs
  2. Executar npm run dev:web
  3. Fazer login no dashboard
  4. Verificar se os dados aparecem
  5. Testar o terminal de realtime (audit logs)

Dúvidas? Consulte o README principal para mais detalhes.