Alles bleibt im Perimeter: Code, Panel, Befunde.
Für regulierte Branchen und geschlossene Netze: Panel, Analyse und Datenbank laufen auf Ihren Servern. Nur zwei Türen führen nach außen - die Image-Registry und die Lizenzdatei; im Air-Gap-Betrieb lassen sich beide nach innen tragen.
Ein Produkt, eine Release-Linie
Jede Installation nutzt dieselben Images, versioniert über ein einziges Tag. Kein Fork, keine nachhinkende Edition.
Alle Module enthalten
Alle Module, von ArchPilot bis Archito, laufen auf Ihren Servern. Jede Funktion erreicht jede Installation in denselben Images.
Verwaltungskonsole inklusive
Die Installation hat einen eigenen Verwaltungsbereich: Lizenz, Benutzer und E-Mail an einem Ort, mit einem Assistenten beim ersten Start.
Identität und KI
Es gibt keine Anmeldung über Google oder GitHub: Identitäten bleiben im eigenen Netz, mit E-Mail und Passwort oder LDAP / Active Directory. KI-Funktionen sind optional und brauchen als Einzige Internetzugang, zum Anbieter Ihrer Wahl.
Was läuft in der Installation?
Die Referenzinstallation besteht aus vier Containern auf einem Server. Die Analyse läuft nicht auf diesem Server, sondern in Ihren CI-Jobs.
| Komponente | Aufgabe | Wer greift zu |
|---|---|---|
| Panel (app-ui) | Die Weboberfläche, die Ihre Nutzer öffnen. Sie reicht jede Anfrage mit der Identität des Nutzers an die API weiter. | Browser; Standardport 8080 |
| API (api) | Nimmt Analyseberichte an, berechnet die Scores und führt geplante Aufgaben wie Git-Synchronisierung und Berichte aus. Nur sie spricht mit der Datenbank. | Das Panel und Ihre CI-Runner; Standardport 5000 |
| PostgreSQL 16 | Befunde, Berichte, Nutzer und Verwaltungseinstellungen. | Nur die API |
| Redis 7 | Sitzungen, Cache und die Sitzungsschlüssel, die Replikate teilen. | Panel und API |
| Analyse-Images (Collector) | Scannen den Code in Ihrem CI-Job und senden den Bericht an Ihre eigene API. Ein Image für jede der neun Sprachen. | Ihre CI-Jobs; auf dem Server läuft nichts dauerhaft |
TLS liefert der vorgeschaltete Reverse Proxy (nginx, traefik) oder Ingress. Browser brauchen nur den Panel-Port, CI-Runner nur den API-Port.
Die Installation hat drei Schritte
Kubernetes ist nicht nötig; Docker compose genügt. Die Anleitung mit Screenshots liegt auf docs.apparch.io.
- 01
Lizenz + Installationsschlüssel
Der Vertrieb schickt Installations-ID und Installationsschlüssel; der Schlüssel wird genau einmal übermittelt. Beim ersten Start holt die Installation ihre Lizenz online ab. Abgeschottet senden Sie den Installationscode aus dem Einrichtungsassistenten und erhalten eine daran gebundene .lic-Datei.
- 02
Images ziehen
docker login hub.apparch.io - die Installations-ID ist der Benutzername, der Schlüssel das Passwort. Im Air-Gap-Netz werden die Images einmal außen gezogen und hineingetragen.
- 03
compose up + Assistent
Die Compose-Datei startet Panel, Analyse und Datenbank-Migrationen; beim ersten Start verbindet der Assistent Admin-Konto und Lizenz.
Voraussetzung: Docker Engine 24+ mit Compose-Plugin. Das ist alles.
Installation in einem abgeschotteten Netz
Weder die Installation noch der Betrieb brauchen eine Verbindung aus Ihrem Netz hinaus. Der einzige Austausch mit außen sind zwei Dateien, die von Hand getragen werden.
- 01
Images hineinbringen
Die Images von Panel und API kommen als eine Archivdatei; Sie bringen sie auf den Server und laden sie mit docker load. Die Analyse-Images legen Sie in Ihre eigene interne Registry, Ihre CI-Jobs ziehen sie von dort.
- 02
Geheimnisse auf dem Server erzeugen
gen-secrets.sh erzeugt die Passwörter für Datenbank und Redis, den Sitzungs-Signaturschlüssel und den Verschlüsselungs-Hauptschlüssel zufällig auf dem Server selbst. Nichts davon erreicht uns, nichts davon steckt in den Images.
- 03
Installationscode senden
Starten Sie die Dienste und senden Sie AppArch den Installationscode aus dem Lizenzschritt des Einrichtungsassistenten. Die zurückgeschickte .lic-Datei ist nur an diese Installation gebunden; legen Sie sie unter ./license/apparch.lic ab oder fügen Sie sie im Assistenten ein.
- 04
Keine Anfrage geht hinaus
Lassen Sie Hersteller- und Update-Adresse leer: Die Lizenz wird lokal geprüft, es gibt keine Versionsprüfung, keine Anfrage verlässt das Netz. Neue Versionen kommen ebenfalls als Dateien.
Einfach zu betreiben, klar zu überwachen
Was Ihr Team nach der Installation wissen muss, in vier Punkten.
Health-Endpunkte
/health/live meldet, dass der Prozess läuft, /health/ready, dass Datenbank und Redis antworten (beim Panel: die API). Compose nutzt sie als Container-Healthchecks; unter Kubernetes dienen sie als Liveness- und Readiness-Probes.
Upgrades
Image-Version in .env ändern, dann docker compose pull und up. Ausstehende Datenbankmigrationen laufen beim Start der Reihe nach, egal wie viele Versionen übersprungen wurden. Migrationen gehen nur vorwärts, also vorher ein pg_dump-Backup ziehen.
Ein Start, der sich erklärt
Die API protokolliert ihren Start Schritt für Schritt: Datenbank, Migrationen, Referenzdaten, Lizenz. Scheitert ein Schritt, nennt die Fehlerzeile den Schritt; bei einem Verbindungsfehler erscheinen Host und Port, nie Zugangsdaten.
Mehr als ein Replikat
Replikate mit demselben PostgreSQL und Redis sind eine Installation: Migrationen laufen einmal unter einer Datenbanksperre, geplante Aufgaben feuern über einen geclusterten Scheduler auf einem Replikat, Sitzungen werden über Redis geteilt.
Sicher ab Werk
Maßnahmen, die mit der Installation kommen und keine zusätzliche Konfiguration brauchen.
- Ihre Geheimnisse bleiben bei Ihnen. Passwörter und Schlüssel werden bei der Installation auf Ihrem Server erzeugt; die Images enthalten nur nicht geheime Standardwerte.
- Git-Zugangsdaten sind verschlüsselt. Die Zugriffstoken der verbundenen Anbieter werden in der Datenbank mit AES-GCM unter dem Hauptschlüssel Ihrer Installation verschlüsselt.
- Images ohne Shell und ohne root. Die Container enthalten nur die .NET-Laufzeit, keine Shell, und laufen als nicht privilegierter Nutzer.
- Eine Lizenz, die sich nicht bearbeiten lässt. Die Lizenz wird gegen den AppArch-Signaturschlüssel in den Images geprüft; wer die Datei von Hand ändert, bricht die Signatur.
- Die Anmeldung bleibt in Ihrem Netz. E-Mail und Passwort (mit optionaler Zwei-Faktor-Authentifizierung) oder LDAP / Active Directory. Eine Anmeldung über Google oder GitHub gibt es nicht.
Wie verhält sich die Lizenz?
Keine überraschenden Abschaltungen: Die Grenzen sind explizit - und was danach passiert auch.
Signierte Datei, offline geprüft
Die Lizenz ist eine RS256-signierte .lic-Datei; die Installation prüft sie lokal, und eine Lizenz gilt für genau eine Installation. Sie telefoniert nicht mit einem Lizenzserver, um weiterzulaufen. Mehrere Pods mit einer gemeinsamen Datenbank gelten als eine Installation.
Kalendermonats-Zähler
Nutzungsgrenzen zählen pro Kalendermonat und setzen sich am Monatsanfang zurück - keine Gleitfenster-Überraschungen.
Erst weiche, dann harte Grenze
Eine überschrittene Grenze stoppt die Arbeit nicht: sieben Tage und 10 % werden toleriert, das Panel warnt. Der harte Stopp kommt erst, wenn dieser Puffer verbraucht ist.
Häufige Fragen
Wie bekomme ich Updates?
Welche Authentifizierungsoptionen gibt es?
Was funktioniert im vollen Air Gap - und was nicht?
Wer sieht die Daten?
Wie funktioniert die Preisgestaltung?
Läuft es auf Kubernetes?
Was muss ich sichern?
Was passiert mit der Lizenz, wenn ich den Server wechsle?
Testen Sie es in Ihrem Perimeter
Fordern Sie Ihre Installations-ID an; mit der Compose-Datei stehen Sie an einem Nachmittag.