Anwendungen

Erstellt: 2025-12-20 | Aktualisiert: 2025-12-20

Webserver

Datenbanken

Laufzeitumgebungen

Dienste

Verwandte Themen

Apache Webserver

Erstellt: 2025-12-20 | Aktualisiert: 2025-12-20

Webserver der alle HTTP/HTTPS-Anfragen entgegennimmt und an PHP weiterleitet. Hostet die drei Domains mit virtuellen Hosts und sorgt für SSL-Terminierung.

Version2.4.x
Statusaktiv
Ports80, 443

Module

ssl http2 brotli rewrite headers proxy proxy_http proxy_fcgi proxy_wstunnel setenvif

Brotli-Kompression

Datei: /etc/apache2/conf-available/brotli.conf

<IfModule mod_brotli.c>
    AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript application/json application/xml
    BrotliCompressionQuality 4
</IfModule>

Virtual Hosts

Befehle

systemctl status apache2
systemctl restart apache2
apache2 -v

PHP 8.4

Erstellt: 2025-12-20 | Aktualisiert: 2025-12-27

Serverseitige Programmiersprache für die Webanwendung. Läuft als FPM (FastCGI Process Manager) für bessere Performance und Ressourcennutzung.

Version8.4.16
SAPIFPM (FastCGI)
Konfig/etc/php/8.4/

Installierte Erweiterungen

Installation

apt-get install -y php8.4 php8.4-cli php8.4-fpm php8.4-mysql \
    php8.4-curl php8.4-gd php8.4-mbstring php8.4-xml php8.4-zip \
    php8.4-intl php8.4-bcmath php8.4-opcache php8.4-apcu php8.4-redis \
    php8.4-imagick libapache2-mod-php8.4

Befehle

php -v
systemctl status php8.4-fpm
systemctl restart php8.4-fpm

MariaDB

Erstellt: 2025-12-20 | Aktualisiert: 2025-12-31

Relationale Datenbank für strukturierte Daten. MySQL-kompatibel, schnell und zuverlässig. Speichert alle Anwendungsdaten des KI-Systems.

Version11.8.3
Port3306
Konfig/etc/mysql/

Datenbanken

DatenbankTabellenZweck
ki_dev23Infrastruktur: Tasks, Contracts, Docs, Pipeline, Logs, Code-Analyse
ki_content35Content: Chat, Wissen, Entitäten, Taxonomie, Ontologie, Dokumente

Zugriff via MCP

Wichtig: Datenbankzugriff erfolgt ausschließlich über MCP-DB. Keine direkten SQL-Befehle!

# MCP-Tools verwenden:
db_select("SELECT * FROM tasks LIMIT 10", database="ki_dev")
db_tables(database="ki_dev")
db_describe(table="tasks", database="ki_dev")

Datenbank erstellen (nur Admin)

mariadb -e "CREATE DATABASE dbname CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
mariadb -e "CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';"
mariadb -e "GRANT ALL PRIVILEGES ON dbname.* TO 'user'@'localhost';"
mariadb -e "FLUSH PRIVILEGES;"

Befehle

mariadb -V
systemctl status mariadb
mariadb-dump --all-databases > backup.sql

Verwandte Themen

phpMyAdmin

Erstellt: 2025-12-20 | Aktualisiert: 2025-12-20

Web-basierte Datenbankverwaltung für MariaDB/MySQL. Ermöglicht Datenbankoperationen, Tabellenmanagement und SQL-Abfragen im Browser.

Version5.2.2
URL/myadm (nur dev)
Installation/usr/share/phpmyadmin
Konfig/etc/phpmyadmin/

Zugang

URLhttps://dev.campus.systemische-tools.de/myadm
Benutzerroot
Passwortsiehe Credentials

Funktionen

Sicherheit

Konfiguration

/etc/apache2/conf-available/phpmyadmin-myadm.conf
/etc/phpmyadmin/config.inc.php
/etc/phpmyadmin/config-db.php

Nextcloud

Erstellt: 2025-12-20 | Aktualisiert: 2025-12-20

Self-hosted Cloud-Speicher für Dateien und Dokumente. Ersetzt Dropbox/Google Drive mit voller Datenkontrolle und DSGVO-Konformität.

URLhttps://files.campus.systemische-tools.de
Pfad/var/www/nextcloud
DatenbankMariaDB: nextcloud

Installation

cd /var/www
curl -LO https://download.nextcloud.com/server/releases/latest.tar.bz2
tar -xjf latest.tar.bz2
chown -R www-data:www-data nextcloud

Datenbank

mariadb -e "CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
mariadb -e "CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'PASSWORD';"
mariadb -e "GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';"

Python

Erstellt: 2025-12-20 | Aktualisiert: 2025-12-20

Skriptsprache für KI/ML-Aufgaben und Automatisierung. Basis für viele KI-Tools, Bibliotheken und Embedding-Generierung.

Version3.13.5
HerkunftDebian 13 Standard

Zusätzliche Pakete

apt-get install -y python3-pip python3-venv python3-dev build-essential

Virtuelle Umgebung

python3 -m venv /opt/myproject/venv
source /opt/myproject/venv/bin/activate
pip install --upgrade pip

Version prüfen

python3 --version
pip3 --version

tmux

Erstellt: 2025-12-20 | Aktualisiert: 2025-12-20

Terminal-Multiplexer für persistente Shell-Sessions. Prozesse laufen weiter auch wenn die SSH-Verbindung abbricht. Ermöglicht mehrere Terminals in einer Verbindung.

Version3.5a
Konfig/root/.tmux.conf

Tastenkürzel

PrefixCtrl+b oder Ctrl+a
Prefix + |Vertikal teilen
Prefix + -Horizontal teilen
Alt + PfeilePanes wechseln
Prefix + cNeues Fenster
Prefix + dDetach

Befehle

tmux new -s session
tmux attach -t session
tmux ls
tmux kill-session -t session

Kitty-Verbindung

ssh -p 2022 root@SERVER -t "tmux new -A -s main"

Semantic Explorer

Erstellt: 2025-12-20 | Aktualisiert: 2025-12-29

Exploration und Suche in der Dokumentations-Pipeline. Zeigt hierarchische Dokumente, deren Seiten und die extrahierten Text-Chunks mit Taxonomie-Klassifizierung, Keywords und Entities.

URL/semantic-explorer
Datenbankki_content (documents, chunks)
Controller/src/Controller/SemanticExplorerController.php
Views/src/View/semantic-explorer/
Pipeline/var/www/scripts/pipeline/

Datenmodell

TabelleBeschreibungFelder
documents Quelldokumente id, filename, title, source, page_count, status, created_at
chunks Extrahierte Text-Chunks id, document_id, chunk_index, content, token_count, embedding_model, qdrant_id

Web-UI Komponenten

SeiteURLBeschreibung
Dashboard/semantic-explorerStatistiken, Top-Kategorien, neueste Chunks
Entitäten/semantic-explorer/entitaetenAlle extrahierten Entitäten
Relationen/semantic-explorer/relationenBeziehungen zwischen Entitäten
Taxonomie/semantic-explorer/taxonomieTaxonomie-Hierarchie
Ontologie/semantic-explorer/ontologieOntologie-Klassen
Chunks/semantic-explorer/chunksAlle Chunks mit Filter
Graph/semantic-explorer/graphWissens-Graph Visualisierung

Detail-Ansichten

API-Endpoints

MethodEndpointBeschreibung
GET/api/v1/explorer/statsStatistiken (Documents, Chunks, Entities)
GET/api/v1/explorer/entitiesAlle Entitäten
GET/api/v1/explorer/relationsAlle Relationen
GET/api/v1/explorer/taxonomyTaxonomie-Hierarchie
GET/api/v1/explorer/ontologyOntologie-Klassen
GET/api/v1/explorer/documentsAlle Dokumente

Chunk-Analyse

Die Pipeline extrahiert aus jedem Chunk:

HybridSearch

Die Suche kombiniert semantische Vektorsuche (Qdrant) mit Keyword-Matching (MariaDB).

API-Aufruf

# Einfache Suche
curl -X POST https://dev.campus.systemische-tools.de/api/v1/explorer/search \
  -H "Content-Type: application/json" \
  -d '{"query": "Systemische Therapie", "limit": 10}'

Response-Format

{
  "success": true,
  "data": {
    "query": "Systemische Therapie",
    "results": [
      {
        "id": 42,
        "content": "...",
        "document_title": "Handbuch",
        "score": 0.87
      }
    ],
    "count": 5
  }
}

Statistiken abrufen

curl https://dev.campus.systemische-tools.de/api/v1/explorer/stats

Response

{
  "success": true,
  "data": {
    "documents": 12,
    "chunks": {
      "total": 234,
      "tokens": 125000
    },
    "entities": 450,
    "relations": 320
  }
}

Pipeline-Integration

Die Chunks werden von der Analyse-Pipeline generiert:

  1. /var/www/scripts/pipeline/pipeline.py - Haupt-Pipeline
  2. /var/www/scripts/pipeline/step_chunk.py - Chunk-Erstellung
  3. /var/www/scripts/pipeline/step_embed.py - Embedding-Generierung
  4. /var/www/scripts/pipeline/step_semantic.py - Semantik-Analyse

Siehe: RAG-Prozess

Contracts Web-UI

Erstellt: 2025-12-20 | Aktualisiert: 2025-12-29

Web-Oberfläche zur Verwaltung von Contracts - YAML-basierte Qualitätsverträge für Code und Dokumentation.

URL/contracts
ControllerContractController
Views/src/View/contracts/
Datenbankki_dev.contracts
MCP-Servermcp-contracts

Funktionen

Routes

RouteMethodeBeschreibung
/contractsGETContract-Liste
/contracts/newGETNeuer Contract (Formular)
/contractsPOSTContract erstellen
/contracts/{id}GETContract-Details
/contracts/{id}/editGETContract bearbeiten

Views

DateiFunktion
index.phpContract-Übersicht mit Filter und Statistiken
show.phpContract-Details mit YAML-Anzeige und Validierung
new.phpFormular für neuen Contract
edit.phpFormular zum Bearbeiten

Contract-Struktur (YAML)

name: example-contract
version: "1.0"
scope:
  paths:
    - /src/View/example/
  patterns:
    - "*.php"
rules:
  - type: structure
    check: required_elements
    elements: [h1, table]
  - type: content  
    check: no_hardcoded_paths
thresholds:
  critical: 0
  major: 2
  minor: 5

Versionierung

Jede Änderung an einem Contract erstellt automatisch eine neue Version. Die Historie wird in ki_dev.contract_history gespeichert.

Integration

Siehe auch

Erstellt: 2025-12-22 | Aktualisiert: 2025-12-22

Content Pipeline

System zur Verarbeitung von Dokumenten aus Nextcloud mit konfigurierbaren Pipeline-Stufen.

Übersicht

Die Content Pipeline verarbeitet Dokumente in mehreren Schritten:

  1. Import - Dokumente aus Nextcloud scannen und in Queue aufnehmen
  2. Extract - Text aus PDF, DOCX, PPTX, MD, TXT extrahieren
  3. Chunk - Semantisches Chunking mit Struktur-Erhaltung
  4. Embed - Vektorisierung via Ollama → Qdrant
  5. Analyze - Entitäten, Relationen, Taxonomie extrahieren

Sub-Seiten

Technische Basis

KomponenteTechnologie
QuelleNextcloud /var/www/nextcloud/data/root/files/Documents
DatenbankMariaDB ki_content
VektorenQdrant localhost:6333
EmbeddingOllama mxbai-embed-large (1024 dims)
AnalyseAnthropic Claude / Ollama