- 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
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
- Acesse https://cloud.appwrite.io
- Entre no seu projeto (ID:
68be03580005c05fb11f) - Vá em Settings → API Keys
- Clique em Create API Key
- Dê um nome: "Setup Script" ou "Admin Key"
- Importante: Marque TODOS os scopes (permissões)
- Clique em Create
- 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:
- Databases: Deve aparecer "DevOpsPlatform"
- Collections: Dentro do database, 4 collections com dados
- 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:
- Verifique se copiou a chave completa
- Confirme que a chave tem todos os scopes marcados
- 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:
- ✅ Verificar
.envfoi atualizado com os IDs - ✅ Executar
npm run dev:web - ✅ Fazer login no dashboard
- ✅ Verificar se os dados aparecem
- ✅ Testar o terminal de realtime (audit logs)
Dúvidas? Consulte o README principal para mais detalhes.