Sign inSign up

dockitmed/ai-proxy-admin

By dockitmed

•Updated 6 days ago

AI Proxy Admin - AI Proxy with enhanced Security Features like Guardrail, RAG and Data anonymization

Image
Networking
Security
Machine learning & AI
0

755

dockitmed/ai-proxy-admin repository overview

⁠AIProxy

Self-hosted Security-Proxy für den Zugriff auf KI-Dienste – anonymisiert personenbezogene Daten automatisch, bevor sie einen externen KI-Anbieter erreichen, erzwingt unternehmensweite Guardrails & RAG-Kontext und protokolliert jede Anfrage vollständig auditierbar. Inklusive Admin-Oberfläche und einer eigenen ChatGPT-ähnlichen Chat-UI für Endnutzer.

🔗 Weitere Infos, Live-Demo und Doku: a-i-proxy.eu⁠

⁠Funktionen

  • Automatische Anonymisierung von Namen, E-Mails, Telefonnummern, IBANs, Adressen & Referenznummern (inkl. De-Anonymisierung in der Antwort)
  • Guardrails & RAG-Wissensbausteine, automatisch in jede Anfrage injiziert
  • Whitelist / Blacklist / Passthrough pro KI-Anbieter
  • Eigene Chat-Oberfläche (mehrere Chats, Ordner, Dokumenten-Upload), zentral verwaltete API-Keys und tägliche Tokenlimits pro Nutzer/Modell
  • Vollständiges, durchsuchbares Audit-Log
  • Rollenbasierte Benutzerverwaltung (Viewer/Editor/Admin)

⁠Enthaltene Images

ImageZweck
dockitmed/ai-proxy-proxyKern-Proxy (Anonymisierung, Guardrails/RAG, Provider-Anbindung)
dockitmed/ai-proxy-adminAdmin-Oberfläche
dockitmed/ai-proxy-chatChat-Oberfläche für Endnutzer

⁠Schnellstart

  1. docker-compose.yml und .env (Beispiele unten) in ein Verzeichnis legen
  2. Werte in .env anpassen (mind. ADMIN_AUTH_SECRET, ADMIN_BOOTSTRAP_PASSWORD)
  3. docker compose up -d
  4. Admin-Oberfläche: http://localhost:8080 · Chat-Oberfläche: http://localhost:8082
⁠docker-compose.yml
services:
  postgres:
    image: postgres:16
    restart: unless-stopped
    environment:
      POSTGRES_DB: ${POSTGRES_DB:-aiproxy}
      POSTGRES_USER: ${POSTGRES_USER:-aiproxy}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-aiproxy}
    volumes:
      - postgres-data:/var/lib/postgresql/data

  aiproxy:
    image: dockitmed/ai-proxy-proxy:latest
    restart: unless-stopped
    depends_on:
      - postgres
    environment:
      DATABASE_URL: postgresql+psycopg://${POSTGRES_USER:-aiproxy}:${POSTGRES_PASSWORD:-aiproxy}@postgres:5432/${POSTGRES_DB:-aiproxy}
      ADMIN_AUTH_SECRET: ${ADMIN_AUTH_SECRET:-change-this-secret}
      ADMIN_BOOTSTRAP_USERNAME: ${ADMIN_BOOTSTRAP_USERNAME:-admin}
      ADMIN_BOOTSTRAP_PASSWORD: ${ADMIN_BOOTSTRAP_PASSWORD:-ChangeMe123!}
      ALLOW_SELF_REGISTRATION: ${ALLOW_SELF_REGISTRATION:-false}
      SELF_REGISTRATION_DEFAULT_ROLE: ${SELF_REGISTRATION_DEFAULT_ROLE:-viewer}
      SELF_REGISTRATION_RATE_LIMIT: ${SELF_REGISTRATION_RATE_LIMIT:-5}
      SELF_REGISTRATION_RATE_LIMIT_WINDOW_MINUTES: ${SELF_REGISTRATION_RATE_LIMIT_WINDOW_MINUTES:-15}
      PUBLIC_ADMIN_URL: ${PUBLIC_ADMIN_URL:-http://localhost:8080}
      SMTP_HOST: ${SMTP_HOST:-}
      SMTP_PORT: ${SMTP_PORT:-587}
      SMTP_USERNAME: ${SMTP_USERNAME:-}
      SMTP_PASSWORD: ${SMTP_PASSWORD:-}
      SMTP_FROM_EMAIL: ${SMTP_FROM_EMAIL:[email protected]}
      SMTP_USE_TLS: ${SMTP_USE_TLS:-true}
      MITMPROXY_LOG_LEVEL: ${MITMPROXY_LOG_LEVEL:-WARNING}
    ports:
      - "${PROXY_PORT:-8000}:8000"
      - "${FORWARD_PROXY_PORT:-8001}:8001"
    volumes:
      - proxy-certs:/app/certs

  aiproxyadmin:
    image: dockitmed/ai-proxy-admin:latest
    restart: unless-stopped
    depends_on:
      - aiproxy
    environment:
      PROXY_API_BASE_URL: http://aiproxy:8000
    ports:
      - "${ADMIN_PORT:-8080}:8080"

  aiproxychat:
    image: dockitmed/ai-proxy-chat:latest
    restart: unless-stopped
    depends_on:
      - aiproxy
    environment:
      PROXY_API_BASE_URL: http://aiproxy:8000
    ports:
      - "${CHAT_PORT:-8082}:8080"

volumes:
  postgres-data:
  proxy-certs:
⁠.env
POSTGRES_DB=aiproxy
POSTGRES_USER=aiproxy
POSTGRES_PASSWORD=aiproxy
POSTGRES_PORT=5432

PROXY_PORT=8000
FORWARD_PROXY_PORT=8001
ADMIN_PORT=8080
CHAT_PORT=8082
MITMPROXY_LOG_LEVEL=WARNING

ADMIN_AUTH_SECRET=change-this-secret
ADMIN_BOOTSTRAP_USERNAME=admin
ADMIN_BOOTSTRAP_PASSWORD=ChangeMe123!

# Self-registration (e.g. for cloud/demo deployments)
ALLOW_SELF_REGISTRATION=false
SELF_REGISTRATION_DEFAULT_ROLE=viewer
SELF_REGISTRATION_RATE_LIMIT=5
SELF_REGISTRATION_RATE_LIMIT_WINDOW_MINUTES=15
PUBLIC_ADMIN_URL=http://localhost:8080

# SMTP settings for self-registration email verification.
# If SMTP_HOST is left empty, verification links are logged instead of emailed (dev/demo fallback).
SMTP_HOST=
SMTP_PORT=587
SMTP_USERNAME=
SMTP_PASSWORD=
[email protected]
SMTP_USE_TLS=true

Weitere Informationen, Screenshots und eine Live-Demo: a-i-proxy.eu⁠

Tag summary

Content type

Image

Digest

sha256:bfe1d44d6…

Size

57.2 MB

Last updated

6 days ago

docker pull dockitmed/ai-proxy-admin