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
- Créez une application GitHub pour ce serveur.
-
Définissez son URL de webhook sur
https://your-domain.com/api/prs/github-webhooket son secret de webhook sur la valeur deGITHUB_SECRET. - Accordez Contenu : lecture seule et Pull requests : lecture et écriture, et abonnez-vous aux événements Pull request .
-
Définissez
GITHUB_APP_IDetGITHUB_APP_CLIENT_IDdans votre fichier d'environnement, et montez la clé privée de l'application dans les deux conteneurs. - 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.