Como Instalar o Servidor Cursor Manualmente
Este guia fornece instruções detalhadas para instalar e configurar manualmente o servidor Cursor. Esta abordagem é útil para implantações personalizadas, ambientes air-gapped ou quando você precisa de configurações específicas que não estão disponíveis na instalação padrão.
Pré-requisitos
Antes de iniciar a instalação manual, certifique-se de ter:
- Acesso de administrador/root ao sistema alvo
- Node.js 16.x ou posterior instalado
- Git instalado
- Pelo menos 4GB de RAM disponível
- 2GB de espaço livre em disco
Etapas de Instalação
1. Clonar o Repositório
git clone https://github.com/getcursor/cursor-server.git
cd cursor-server
2. Instalar Dependências
npm install
# ou se preferir yarn
yarn install
3. Configurar Variáveis de Ambiente
Crie um arquivo .env no diretório raiz:
touch .env
Adicione as seguintes configurações:
PORT=3000
HOST=localhost
NODE_ENV=production
LOG_LEVEL=info
MAX_REQUESTS_PER_MINUTE=60
4. Compilar o Servidor
npm run build
# ou
yarn build
Configuração do Servidor
Configuração Básica
O servidor pode ser configurado através de variáveis de ambiente ou um arquivo de configuração:
// config.ts
export default {
server: {
port: process.env.PORT || 3000,
host: process.env.HOST || 'localhost',
cors: {
origin: '*',
methods: ['GET', 'POST']
}
},
security: {
rateLimit: {
windowMs: 60 * 1000, // 1 minuto
max: process.env.MAX_REQUESTS_PER_MINUTE || 60
}
}
}
Configuração Avançada
Para casos de uso avançados, você pode modificar:
- Configurações de autenticação
- Limitação de taxa
- Políticas CORS
- Níveis de logging
- Configuração de cache
Executando o Servidor
Modo de Desenvolvimento
npm run dev
# ou
yarn dev
Modo de Produção
npm run start
# ou
yarn start
Usando PM2 (Recomendado para Produção)
npm install -g pm2
pm2 start npm --name "cursor-server" -- start
Considerações de Segurança
-
Autenticação de API
- Implemente autenticação por chave de API
- Use HTTPS em produção
- Configure adequadamente as configurações CORS
-
Limitação de Taxa
- Defina limites apropriados de requisições
- Implemente limitação baseada em IP
- Monitore abusos
-
Controle de Acesso
- Restrinja o acesso ao servidor por IP
- Use regras de firewall
- Implemente acesso baseado em funções
Monitoramento e Manutenção
Verificações de Saúde
Implemente endpoints de verificação de saúde:
app.get('/health', (req, res) => {
res.status(200).json({
status: 'healthy',
timestamp: new Date().toISOString(),
version: process.env.npm_package_version
});
});
Logging
Configure logging para solução de problemas:
import winston from 'winston';
const logger = winston.createLogger({
level: process.env.LOG_LEVEL || 'info',
format: winston.format.json(),
transports: [
new winston.transports.File({ filename: 'error.log', level: 'error' }),
new winston.transports.File({ filename: 'combined.log' })
]
});