SourceAnt

Auto-hébergement

Exécutez l'API de revue SourceAnt sur votre propre serveur à l'aide de l'image Docker publiée. Ce déploiement est uniquement une API. Vous fournissez la base de données, les identifiants de modèle et l'application GitHub.

Pour explorer le code et les connaissances, gérer les compétences et réviser les modifications sur votre machine, suivez Configuration locale.

Préparez votre serveur

Vous avez besoin de Docker, d'une base de données PostgreSQL accessible depuis les conteneurs et d'une adresse HTTPS pour les livraisons GitHub. Conservez l'API et les workers sur la même version d'image et la même configuration de base de données.

Créez un fichier .env avec votre connexion à la base de données, votre clé de modèle et de fournisseur, les identifiants de votre application GitHub, le secret du webhook et le secret JWT. Utilisez le modèle d'environnement comme référence et remplacez ses valeurs d'exemple.

Démarrez l'API

L'image publiée est ghcr.io/sourceant/sourceant. Ces commandes utilisent latest; épinglez une balise d'image publiée pour un déploiement de production reproductible. Exécutez-les depuis le répertoire contenant votre .env et la clé privée de l'application GitHub.

docker pull ghcr.io/sourceant/sourceant:latest

docker run -d --name sourceant-api \
  --env-file .env \
  -e QUEUE_MODE=database \
  -e GITHUB_APP_PRIVATE_KEY_PATH=/app/private-key.pem \
  -v "$PWD/private-key.pem:/app/private-key.pem:ro" \
  -p 127.0.0.1:8000:8000 \
  ghcr.io/sourceant/sourceant:latest

L'image applique les migrations de base de données avant de démarrer l'API sur le port 8000. Assurez-vous que l'utilisateur du conteneur peut lire la clé privée montée.

docker logs sourceant-api
curl http://127.0.0.1:8000/

Vérifiez que l'API répond avant de démarrer les workers. Placez votre proxy inverse HTTPS devant le port 8000. La référence de l'API est disponible à l'adresse /docs.

Démarrez le worker de revue

Avec la file d'attente SQL, exécutez un worker avec la même base de données et les mêmes identifiants :

docker run -d --name sourceant-worker \
  --env-file .env \
  -e QUEUE_MODE=database \
  -e GITHUB_APP_PRIVATE_KEY_PATH=/app/private-key.pem \
  -v "$PWD/private-key.pem:/app/private-key.pem:ro" \
  --entrypoint sourceant \
  ghcr.io/sourceant/sourceant:latest work --lane interactive

Exécutez des workers pour les files d'attente batch et background selon les besoins pour les autres travaux en attente. Consultez la référence de déploiement pour la configuration et les options des workers.

Connectez votre application GitHub

  1. Créez une application GitHub pour ce serveur.
  2. Définissez son URL de webhook sur https://your-domain.com/api/prs/github-webhook et son secret de webhook sur la valeur de GITHUB_SECRET.
  3. Accordez Contenu : lecture seule et Pull requests : lecture et écriture, et abonnez-vous aux événements Pull request .
  4. Définissez GITHUB_APP_ID et GITHUB_APP_CLIENT_ID dans votre fichier d'environnement, et montez la clé privée de l'application dans les deux conteneurs.
  5. Installez l'application sur les dépôts que vous souhaitez réviser.

Appliquez la configuration de l'application avant de démarrer les conteneurs. Ouvrez une pull request pour vérifier la livraison et le traitement, à l'aide de l'historique des livraisons de l'application et des journaux des workers. Consultez Configuration de l'application GitHub pour la configuration complète.