---
title: "Self-Hosting · Docs · SourceAnt"
description: "Dokumentation: Stellen Sie die SourceAnt Review API mit dem veröffentlichten Docker-Image auf Ihrem eigenen Server bereit."
url: "https://sourceant.ai/de/docs/self-hosting/"
---

# Selbsthosting

Führen Sie die SourceAnt Review API mit dem veröffentlichten Docker-Image auf Ihrem eigenen Server aus. Diese Bereitstellung ist nur die API. Sie stellen die Datenbank, die Modell-Anmeldedaten und die GitHub App bereit.

Um Code und Wissen zu erkunden, Skills zu verwalten und Änderungen auf Ihrem Rechner zu überprüfen, folgen Sie [Lokale Einrichtung](https://sourceant.ai/de/docs/local-setup).

## Server vorbereiten

Sie benötigen Docker, eine von den Containern aus erreichbare PostgreSQL-Datenbank und eine HTTPS-Adresse für GitHub-Zustellungen. Halten Sie API und Worker auf derselben Image-Version und Datenbankkonfiguration.

Erstellen Sie eine `.env` Datei mit Ihrer Datenbankverbindung, dem Modell- und Anbieterschlüssel, den GitHub App-Anmeldedaten, dem Webhook-Secret und dem JWT-Secret. Verwenden Sie die [Umgebungsvorlage](https://github.com/sourceant/sourceant/blob/main/.env.example) als Referenz und ersetzen Sie deren Platzhalterwerte.

## API starten

Das veröffentlichte Image ist `ghcr.io/sourceant/sourceant`. Diese Befehle verwenden `latest`; legen Sie für eine wiederholbare Produktionsbereitstellung ein veröffentlichtes Image-Tag fest. Führen Sie sie aus dem Verzeichnis aus, das Ihre `.env` und den privaten Schlüssel der GitHub App enthält.

```
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
```

Das Image wendet Datenbankmigrationen an, bevor es die API auf Port 8000 startet. Stellen Sie sicher, dass der Container-Benutzer den eingebundenen privaten Schlüssel lesen kann.

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

Prüfen Sie, ob die API antwortet, bevor Sie Worker starten. Setzen Sie Ihren HTTPS-Reverse-Proxy vor Port 8000. Die API-Referenz ist verfügbar unter `/docs`.

## Review-Worker starten

Führen Sie mit der SQL-Warteschlange einen Worker mit derselben Datenbank und denselben Anmeldedaten aus:

```
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
```

Führen Sie Worker für die `batch` und `background` Lanes nach Bedarf für andere eingereihte Arbeiten aus. Siehe die [Bereitstellungsreferenz](https://github.com/sourceant/sourceant/blob/main/docs/deployment.md) für Konfiguration und Worker-Optionen.

## GitHub App verbinden

1.  Erstellen Sie eine GitHub App für diesen Server.
2.  Legen Sie deren Webhook-URL auf `https://your-domain.com/api/prs/github-webhook` und deren Webhook-Secret auf den Wert von `GITHUB_SECRET`.
3.  fest. Gewähren Sie **Contents: Read-only** und **Pull requests: Read & write**, und abonnieren Sie **Pull request** -Events.
4.  Legen Sie `GITHUB_APP_ID` und `GITHUB_APP_CLIENT_ID` in Ihrer Umgebungsdatei fest, und binden Sie den privaten Schlüssel der App in beide Container ein.
5.  Installieren Sie die App in den Repositorys, die überprüft werden sollen.

Wenden Sie die App-Konfiguration an, bevor Sie die Container starten. Öffnen Sie einen Pull Request, um Zustellung und Verarbeitung zu prüfen, und verwenden Sie dabei den Zustellungsverlauf der App und die Worker-Logs. Siehe [GitHub App-Einrichtung](https://github.com/sourceant/sourceant/blob/main/docs/github-app.md) für die vollständige Konfiguration.
