Kein Gitea-/Forgejo-Fork
GitWall
🇪🇺 Made in Europe · Digitale Souveränität · Kein Vendor Lock-in

GitWall

GitWall ist die eigenständige Git-Plattform für Teams, die Kontrolle nicht abgeben wollen. Entwickelt für auditierbare Softwareentwicklung, harte Sicherheitsanforderungen, DSGVO-orientierte Betriebsmodelle und souveräne Infrastruktur aus Deutschland.

Auditierbarkeit by Design Nachvollziehbare Vorgänge, klarer Ausführungspfad und Security-Features nicht erst nachträglich.
Security als Grundlage Zugriff, Secrets, Runner und Policies werden als Kern des Systems gedacht, nicht als Add-on.
DSGVO- und Compliance-fokussiert Geeignet für Organisationen, die gegenüber Kunden, Auditoren oder Behörden belastbar argumentieren müssen.
In Deutschland entwickelt Fokus auf digitale Souveränität, klare Verantwortlichkeiten und selbst kontrollierbare Infrastruktur.

Digitale Souveränität für europäische Organisationen

GitWall wurde entwickelt, damit Unternehmen, Behörden und Institutionen ihre Code-Infrastruktur vollständig selbst kontrollieren — ohne Abhängigkeit von US-amerikanischen Cloud-Diensten und ohne Compliance-Risiko.

DSGVO by Design Alle Daten bleiben auf Ihren Servern. Keine Telemetrie, kein Datentransfer in Drittländer.
NIS2 & BSI-Konformität Verschlüsselte Repository-Speicherung, Audit-Log und Zugriffskontrolle erfüllen gängige Compliance-Anforderungen.
Kein US-Cloud Act Betreiben Sie GitWall on-premise oder bei einem europäischen Hoster — kein Zugriff durch ausländische Behörden.
Kein Vendor Lock-in Open Stack, Docker Compose, PostgreSQL. Kein proprietäres Format, keine Abhängigkeit von einem einzelnen Anbieter.

Gebaut für Umgebungen, in denen Nachweise zählen

GitWall optimiert nicht auf möglichst viele Features, sondern auf Vertretbarkeit: Wer betreibt die Plattform, wer hat Zugriff, welche Aktionen sind nachvollziehbar und wie lässt sich das Setup gegenüber Audits, Kundenanforderungen und internen Sicherheitsrichtlinien begründen?

Audit-ready Architektur

Logs, Freigaben und sicherheitsrelevante Vorgänge lassen sich strukturiert dokumentieren und prüfbar einordnen.

Für ISO-27001-nahe Prozesse geeignet

GitWall unterstützt kontrollierte Abläufe, Rollen, Nachvollziehbarkeit und technische Sicherheitsmaßnahmen als Basis für belastbare ISMS-Prozesse.

Minimierte Abhängigkeiten

Weniger externer Plattformdruck, weniger Blackbox-Verhalten, mehr Kontrolle über Infrastruktur, Datenhaltung und Zugriffsmodell.

Für sensible Branchen gedacht

Besonders relevant für Unternehmen mit hohen Anforderungen an Datenschutz, Revision, Lieferkettensicherheit und interne Governance.

Alles, was eine moderne Git-Plattform braucht

AES-256-GCM Verschlüsselung

Jedes Repository wird verschlüsselt gespeichert. Schlüssel liegen nur bei Ihnen — kein Dritter kann auf Ihren Code zugreifen.

Vollständiger Git-Support

Push und Pull über HTTPS oder SSH. Access Tokens, SSH-Keys — jeder Standard-Git-Client funktioniert sofort.

Pull Requests

Vollständiger PR-Workflow mit Merge-Kontrolle, Branch Protection und kollaborativen Reviews.

Issues & Tracking

Komplettes Issue-Management mit Kommentaren, Labels und Status-Übergängen für strukturierte Entwicklung.

CI/CD Pipelines

GitHub-Actions-kompatible Workflows mit nativen GitWall-Workflows, CI-Katalog und API-Zugriff für Runs, Logs und Workflow-Verwaltung.

Organisationen & Teams

Berechtigungen, Teams und Multi-Repository-Zugriff skalierbar verwalten — für Unternehmen jeder Größe.

LeakGuard Secret Scanning

Pre-Receive-Hook und CI-Action blockieren 150+ Credential-Muster bevor sie ins Repository gelangen. Markdown-Report pro Lauf.

Visueller Workflow-Editor

Drag-and-Drop Pipeline-Builder. Actions aus der Palette zusammenstellen, Parameter im Properties-Panel bearbeiten, Live-YAML-Vorschau.

KI-Unterstützung (EU-konform)

PR-Reviews, Zusammenfassungen, Drafts und Dokumentation via Mistral AI (europäischer Anbieter) oder eigenem Ollama-Modell — vollständig opt-in.

Externe API & OpenAPI

Tokenbasierte JSON-API für Runs, Logs, Workflows und CI-Katalog. Dokumentiert über /api/v1/docs und openapi.json direkt auf der Instanz.

S3-Backup

Verschlüsseltes, zeitgesteuertes Backup auf S3-kompatiblen Storage — restore per Klick

CVE-Sicherheitsscan

Abhängigkeiten auf bekannte CVEs prüfen — Cargo, Go, npm, PyPI, Composer u.v.m. via OSV.dev, direkt im Security-Tab

Rate Limiting & IP-Blacklist

Login-, Registrierungs- und globale Anfragelimits konfigurierbar im Admin-Bereich. IP-Adressen und CIDRs per Klick sperren — sofort wirksam ohne Neustart.

SSO & OIDC

Single Sign-On über jeden OIDC-kompatiblen Identity Provider (Keycloak, Authentik, Azure AD, Google …). Gruppen-Mapping, Admin-Sync und optionaler Passwort-Login.

Security Dashboard

Fehlgeschlagene Logins, verdächtige IPs und Audit-Zusammenfassung im Überblick

Workflow-Migration

GitHub Actions Workflows mit einem Klick nach .gitwall/workflows/ migrieren. Bekannte Actions werden automatisch in GitWall-Äquivalente konvertiert.

EnVault Cloud Sync

Verschlüsselten ev-Vault über GitWall synchronisieren. Eigene Stores pro Nutzer, separate Store-Tokens, GitWall sieht nur den Blob.

Docker / OCI Registry

Eingebaute OCI-kompatible Image-Registry unter /v2/. Docker-Images direkt pushen und pullen — pro Repository namespaced, Authentifizierung via Access-Token.

Automation, Katalog & Doku

GitWall verbindet UI und Automatisierung: dokumentierte API, abrufbarer CI-Katalog, Workflow-Endpunkte und verschlüsselter Cloud-Sync für EnVault.

Externe API mit Dokumentation

Access Tokens aus den Nutzereinstellungen reichen für JSON-API-Zugriff. OpenAPI und Browser-Doku beschreiben die Endpunkte direkt auf der Instanz.

  • GET /api/v1/docs
  • GET /api/v1/openapi.json
  • GET /api/v1/actions/runs
CI-Katalog & Workflow-Endpunkte

Built-in Actions, Workflow-Listing, letzte Runs und Logs sind über UI und API sichtbar — ideal für Integrationen, Skripte und interne Plattform-Tools.

  • GET /api/v1/ci/catalog
  • GET /api/v1/repos/{owner}/{repo}/actions/workflows
  • GET /api/v1/repos/{owner}/{repo}/actions/runs/{runID}/logs
EnVault Cloud Sync

Benutzer legen eigene Secret Stores an und synchronisieren ihren verschlüsselten Vault-Blob über GitWall. Store-Tokens sind getrennt von normalen GitWall-Tokens.

  • POST /api/v1/envault/stores
  • GET /api/v1/envault/sync/{id}/
  • PUT /api/v1/envault/sync/{id}/

Warum GitWall eine eigenständige Plattform ist

GitWall ist kein Fork von Gitea oder Forgejo mit neuem Branding. GitWall ist eine eigenständige Git-Plattform, die auf Sicherheit, Auditierbarkeit und souveränen Betrieb optimiert wurde.

Eigenständige Codebasis

Keine umgelabelte Gitea-/Forgejo-Abspaltung, sondern Produktentscheidungen entlang eigener Sicherheits- und Betriebsziele.

Security vor Feature-Parität

Secret-Scanning, Policies, Rate Limiting, API-Gates und verschlüsselte Repos sind Kernarchitektur, nicht nachträgliche Plugins.

Auditierbarkeit als Ziel

Workflows, Logs, Freigaben und Zugriffspfade sind darauf ausgelegt, gegenüber Auditoren, Kunden und Behörden erklärbar zu bleiben.

Souveräner Betrieb

Self-hosted, EU-fokussiert, klare Zuständigkeiten und reduzierte Abhängigkeit von fremden Plattforminteressen.

Alles inklusive

Repository-HostingÖffentliche und private Repos mit flexiblen Berechtigungen
Branches & TagsVollständige Versionskontrolle mit Branch Protection Rules
Merge-WorkflowsKonflikterkennung, Three-Way-Merge, atomare Operationen
Releases & AssetsTag-basierte Releases mit Versionierung und Changelogs
SSH-KeysSSH-Key-Verwaltung für passwortlose Authentifizierung
Access TokensFeingranulare API-Tokens für Scripting und CI/CD
API-Doku & OpenAPIInstanzweite API-Doku unter /api/v1/docs plus maschinenlesbares openapi.json
Runner-VerwaltungRunner registrieren sich selbst, Admin genehmigt per Klick
Repository SecretsVerschlüsselte Secrets werden bei Laufzeit als Umgebungsvariablen injiziert
Audit-LogVollständiges Aktivitätsprotokoll für Compliance und Debugging
7 SprachenDE, EN, FR, DA, FI, IT, NL — mit Sprachumschalter
Workflow-EditorVisueller Drag-and-Drop Pipeline-Builder mit YAML-Vorschau und KI-Suggest
LeakGuard ActionEingebaute CI-Action scannt jeden Commit auf 150+ Secret-Muster, erstellt Markdown-Report
KI-DokumentationMistral oder Ollama liest das Repo und committed DOCS.md direkt auf den Branch
EnVault Cloud SyncVerschlüsselten ev-Vault per Store-Token synchronisieren — GitWall speichert nur den Blob
S3-BackupVerschlüsseltes, zeitgesteuertes Backup auf S3-kompatiblen Storage — restore per Klick
CVE-SicherheitsscanAbhängigkeiten auf CVEs prüfen (OSV.dev), per Repo aktivierbar
Tag-Verwaltung & CI-TriggerTags erstellen/löschen, CI-Pipelines per Tag-Push triggern (on.push.tags: ["v*"])
Rate Limiting & IP-BlacklistLogin-/Register-/globale Limits + IP/CIDR-Sperrung im Admin
SSO / OIDCSingle Sign-On über Keycloak, Authentik, Azure AD und andere OIDC-Provider
Zwei-Faktor-AuthentifizierungTOTP (Authenticator-App) pro Nutzer aktivierbar, erzwingbar per Admin-Policy
Backup & RestoreAutomatisierte verschlüsselte Backups lokal oder auf S3-kompatiblem Speicher, Restore per Klick
Security DashboardFehlgeschlagene Logins, verdächtige IPs und Audit-Zusammenfassung im Überblick
Native GitWall Workflows.gitwall/workflows/ als sicherer Ausführungspfad, Migration aus .github/ mit Action-Konvertierung
AES-256 AES-Verschlüsselung
GDPR Datenschutz-orientiert
Audit Nachvollziehbarkeit im Fokus
DE Entwicklung in Deutschland

Schnellstart

In 4 Schritten zu deiner eigenen Git-Instanz.

1
docker-compose.yml erstellen Datei anlegen und mit deinen Werten befüllen
services:
  db:
    image: postgres:16-alpine
    restart: unless-stopped
    environment:
      POSTGRES_DB: gitwall
      POSTGRES_USER: gitwall
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-changeme_in_production}
    volumes:
      - pgdata:/var/lib/postgresql/data

  app:
    image: noxway/gitwall:latest
    restart: unless-stopped
    depends_on: [db]
    ports:
      - "8080:8080"                           # HTTP (ohne ACME)
      # - "80:80"                               # nur mit ACME_DOMAIN
      # - "443:443"                             # nur mit ACME_DOMAIN
      - "2222:2222"                           # SSH
    environment:
      DATABASE_URL: "postgres://gitwall:${POSTGRES_PASSWORD:-changeme_in_production}@db:5432/gitwall?sslmode=disable"
      ENCRYPTION_KEY: <64 hex chars>        # openssl rand -hex 32  ⚠️ In Passwort-Manager sichern! Ohne diesen Key sind alle Repos unwiederbringlich verloren.
      WORKSPACE_DIR: /tmp/gitwall
      APP_URL: http://localhost:8080          # lokal; Produktion: https://git.example.com
      APP_NAME: GitWall
      DEFAULT_LANG: de
      # Optional – Automatische TLS-Zertifikate (Let's Encrypt):
      # ACME_DOMAIN: git.example.com         # aktiviert autocert auf :443
      # ACME_EMAIL: admin@example.com        # für LE-Benachrichtigungen
    volumes:
      - repos:/data/repos
      - type: tmpfs
        target: /tmp/gitwall
        tmpfs:
          size: 2g
      - /var/run/docker.sock:/var/run/docker.sock   # für Docker-Builds / Buildx in CI

  runner:
    image: noxway/gitwall-runner:latest
    restart: unless-stopped
    depends_on: [app]
    environment:
      GITWALL_URL: http://app:8080
      RUNNER_NAME: my-runner
    deploy:
      resources:
        limits:
          cpus: "1"
          memory: 1G
    volumes:
      - runner-data:/data

volumes:
  pgdata:
  repos:
  runner-data:
Wichtig: DATABASE_URL und tmpfs DATABASE_URL sollte im Compose auf den internen PostgreSQL-Service zeigen, am besten explizit mit :5432. Nutze für das DB-Passwort dieselbe POSTGRES_PASSWORD-Variable statt denselben Wert zweimal zu pflegen. Das tmpfs-Mount für /tmp/gitwall sollte mit in die Compose-Datei, weil dort entschlüsselte Arbeitskopien liegen — sicherer und schneller als ein normales Volume oder Bind-Mount. Für Builds und CI sind 2 GB als Startwert sinnvoll.
2
Starten Container hochfahren
# Encryption Key generieren und sofort in Passwort-Manager sichern!
# Ohne diesen Key sind alle Repos unwiederbringlich verloren.
openssl rand -hex 32

# Starten
docker compose up -d

3
Admin einrichten Ersten Account zum Admin machen
# Beim ersten Aufruf öffnet sich der Setup-Wizard:
# http://localhost:8080/setup
# → Admin-Account + Organisation direkt im Browser anlegen

4
CI Runner freigeben Runner prüfen und im Admin-Bereich einmalig genehmigen
# Runner im Admin-Bereich prüfen und freigeben:
# http://localhost:8080/-/admin/runners
# → Pending Runner öffnen und genehmigen

Docker Image noxway/gitwall:latest

Multi-arch (amd64 / arm64) · Automatische DB-Migration beim Start · SSH-Server auf Port 2222 · Git HTTP auf Port 8080

Runner Docker Image noxway/gitwall-runner:latest

Multi-arch (amd64 / arm64) · Führt CI/CD-Jobs aus · Verbindet sich per Token mit dem GitWall-Server

Bereit für digitale Souveränität?

Wenn du eine Git-Plattform suchst, die du gegenüber Auditoren, Kunden und Behörden vertreten kannst, ist GitWall der souveräne Ausgangspunkt.

Tech Stack: Go · Chi Router · HTMX · Bootstrap 5 · PostgreSQL · Docker

🇪🇺 Self-hosted. Open Stack. Ihre Infrastruktur. Ihre Regeln. Kein US-Cloud Act.