Aller au contenu principal

Comment installer manuellement le serveur Cursor

Ce guide fournit des instructions détaillées pour installer et configurer manuellement le serveur Cursor. Cette méthode est utile pour les déploiements personnalisés, les environnements air-gapped ou lorsque des configurations spécifiques sont nécessaires qui ne sont pas disponibles dans l'installation standard.

Prérequis

Avant de commencer l'installation manuelle, assurez-vous d'avoir :

  • Accès administrateur/root au système cible
  • Node.js 16.x ou supérieur installé
  • Git installé
  • Minimum 4 Go de RAM disponible
  • 2 Go d'espace disque libre

Étapes d'installation

1. Cloner le dépôt

git clone https://github.com/getcursor/cursor-server.git
cd cursor-server

2. Installer les dépendances

npm install
# ou si vous préférez yarn
yarn install

3. Configurer les variables d'environnement

Créez un fichier .env dans le répertoire racine :

touch .env

Ajoutez la configuration suivante :

PORT=3000
HOST=localhost
NODE_ENV=production
LOG_LEVEL=info
MAX_REQUESTS_PER_MINUTE=60

4. Construire le serveur

npm run build
# ou
yarn build

Configuration du serveur

Configuration de base

Le serveur peut être configuré via des variables d'environnement ou un fichier de configuration :

// 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 minute
max: process.env.MAX_REQUESTS_PER_MINUTE || 60
}
}
}

Configuration avancée

Pour les cas d'utilisation avancés, vous pouvez modifier :

  1. Paramètres d'authentification
  2. Limites de taux
  3. Politique CORS
  4. Niveaux de journalisation
  5. Configuration du cache

Exécution du serveur

Mode développement

npm run dev
# ou
yarn dev

Mode production

npm run start
# ou
yarn start

Utilisation de PM2 (recommandé pour la production)

npm install -g pm2
pm2 start npm --name "cursor-server" -- start

Considérations de sécurité

  1. Authentification API

    • Implémenter l'authentification par clé API
    • Utiliser HTTPS en production
    • Configurer les paramètres CORS appropriés
  2. Limitation de taux

    • Configurer des limites de requêtes appropriées
    • Implémenter la limitation par IP
    • Surveiller les abus
  3. Contrôle d'accès

    • Restreindre l'accès au serveur par IP
    • Utiliser des règles de pare-feu
    • Implémenter un accès basé sur les rôles

Surveillance et maintenance

Vérification de l'état

Implémentez un point de terminaison de vérification de l'état :

app.get('/health', (req, res) => {
res.status(200).json({
status: 'healthy',
timestamp: new Date().toISOString(),
version: process.env.npm_package_version
});
});

Journalisation

Configurez la journalisation pour le dépannage :

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' })
]
});

Dépannage

Problèmes courants et solutions :

Connexion refusée

Si vous rencontrez des erreurs de connexion refusée :

  1. Vérifier si le port n'est pas déjà utilisé
  2. Vérifier les paramètres du pare-feu
  3. Vérifier la configuration de l'hôte

Problèmes de mémoire

Si le serveur manque de mémoire :

  1. Augmenter la taille du tas Node.js
  2. Surveiller l'utilisation de la mémoire
  3. Implémenter le ramasse-miettes

Optimisation des performances

Conseils pour des performances optimales :

  1. Mise en cache

    • Implémenter la mise en cache avec Redis
    • Utiliser la mise en cache en mémoire appropriée
    • Mettre en cache les données fréquemment accédées
  2. Optimisation de la base de données

    • Indexer les champs fréquemment interrogés
    • Optimiser les modèles de requête
    • Utiliser le pooling de connexions
  3. Équilibrage de charge

    • Configurer plusieurs instances de serveur
    • Utiliser un équilibreur de charge
    • Implémenter la mise à l'échelle horizontale

Ressources supplémentaires

  • Documentation du serveur Cursor
  • Référence API
  • Meilleures pratiques de sécurité

Conclusion

L'installation manuelle du serveur Cursor offre un plus grand contrôle et des options de personnalisation. Bien qu'elle nécessite plus d'effort de configuration, elle permet des configurations et optimisations spécifiques selon les besoins.

Articles connexes

  • Guide de sécurité du serveur Cursor
  • Réglage des performances du serveur
  • Configuration personnalisée du serveur