// Tutorial · Dev-Tools · Self-Hosting

IT-Tools selbst hosten: Die Werkzeugkiste für Entwickler

📅 24.09.2026 ⏱ 8 Min. Lesezeit ✍️ Redaktion

UUID erzeugen, JWT dekodieren, Base64 umwandeln, QR-Codes erstellen, Hashes prüfen – für solche Alltagsaufgaben öffnet man sonst zehn Browser-Tabs voller Werbung und Tracking. IT-Tools bündelt über 80 dieser kleinen Helfer in einer einzigen, aufgeräumten Oberfläche – Open Source, ohne Anmeldung und ohne dass deine Daten einen Server berühren. Wir zeigen das Docker-Compose-Setup.

Warum IT-Tools?

  • Über 80 Werkzeuge an einem Ort: Converter (Base64, JSON, YAML, Zahlen, Einheiten), Krypto (JWT, Hashs, Ciphers), Web (QR-Code, User-Agent, MIME-Typen), Netzwerk (IP-Rechner, WHOIS) sowie Text-, Daten- und Datums-Helfer – die Liste wächst ständig.
  • Keine Konten, kein Tracking, kein Upload: Die Werkzeuge laufen als clientseitige Web-App – deine Eingaben (Tokens, Schlüssel, Texte) verlassen den Browser nicht und werden nirgendwo gespeichert.
  • Schlank & schnell: Ein statischer Container, keine Datenbank, keine Abhängigkeiten – ideal für den eigenen Homelab-Stack oder als Team-Werkzeug im Intranet.
  • Favoriten & Suchfunktion: Häufig genutzte Werkzeuge anpinnen, mit Cmd/Ctrl+K durchsuchen.
  • Läuft als PWA: lässt sich im Browser „installieren“ und offline nutzen.

💡 Erst ausprobieren? Unsere Live-Instanz steht in der Dockerliste bereit: itt.huuu.biz. Alles, was du dort testest, läuft lokal in deinem Browser – ideal, um vor dem eigenen Setup einen Eindruck zu bekommen.

Welches Image? Original vs. sharevb-Fork

Es gibt zwei relevante Images, und die Entscheidung gehört ans Ende des Setups geklärt:

ImageQuelleEigenschaft
sharevb/it-tools:latestsharevb/it-tools (Fork)Sehr aktiv gepflegt, integriert PRs schneller als das Original. Basiert seit einem Breaking Change auf nginx-unprivileged und lauscht deshalb auf Port 8080 (nicht 80!).
ghcr.io/it-tools/it-toolsCorentinTh/it-tools (Original)Das „offizielle“ Projekt, etwas konservativer im Release-Rhythmus.

Unsere Konfiguration unten nutzt den Fork – wichtig ist in beiden Fällen dasselbe: der interne Port lautet 8080, das Host-Mapping also …:8080:8080.

docker-compose.yml – die Konfiguration

services:
  it-tools:
    container_name: itt
    image: sharevb/it-tools:latest
    pull_policy: always
    deploy:
      resources:
        limits:
          cpus: "2.0"
          memory: 2G
    environment:
      - USER_UID=1000
      - USER_GID=1000
    restart: unless-stopped
    ports:
      - "127.0.0.1:50519:8080"   # Web-UI nur lokal

Gegenüber der Vorlage bereinigt: der leere networks: {}-Block und das damit überflüssige network_mode: bridge (Standard-Netz), außerdem die fehlenden Anführungszeichen beim Port-Mapping. Erklärt werden die einzelnen Zeilen im nächsten Abschnitt.

Umgebungsvariablen & Besonderheiten

EinstellungWertBedeutung
pull_policy: alwaysErzwingt bei jedem docker compose up (und damit jedem Neustart) einen Image-Pull – Updates kommen automatisch, aber der Container startet ohne Registry-Zugriff auch nicht mehr. Wer bewusst aktualisieren will, entfernt die Zeile oder pinnt ein konkretes Tag.
USER_UID / USER_GID1000Im sharevb-Fork in der README nicht dokumentiert: Da das Image auf nginx-unprivileged basiert (Prozess läuft bereits mit fester, nicht-root UID), haben die Variablen in der Standard-Konfiguration keine Wirkung. Sie schaden nicht, lassen sich aber gefahrlos entfernen.
ports127.0.0.1:50519:8080Web-UI (Container-Port 8080 – nicht 80!) nur auf dem Loopback. Externer Zugriff ausschließlich über den Reverse Proxy.
deploy.resources.limits2 CPU / 2 GBFür eine statische App eigentlich üppig – aber es schadet nicht, und die Limits verhindern, dass ein Proxy-Angriff (viele gleichzeitige Requests) den Host belastet.
container_name: ittKurzname für Docker-Befehle: docker logs itt, docker restart itt.

Zwei weitere, im Fork dokumentierte Optionen für später:

  • PORT – interner Listen-Port überschreiben (Standard 8080).
  • BASE_URL – Auslieferung unter einem Unterpfad, z. B. BASE_URL=/it-tools/ (praktisch, wenn du keine eigene Subdomain vergeben willst).

Erster Start & Nutzung im Alltag

mkdir -p ~/it-tools && cd ~/it-tools
# docker-compose.yml hier ablegen …

docker compose up -d
docker compose logs -f it-tools   # „start worker processes" abwarten

Danach ist die Werkzeugkiste unter http://127.0.0.1:50519 erreichbar (per SSH-Tunnel: ssh -L 50519:127.0.0.1:50519 dein-server). Kurz durchklicken:

  • Favoriten: auf das Stern-Symbol eines Tools klicken – die Auswahl merkt sich der Browser (localStorage), nicht der Server.
  • Schnellsuche: Ctrl/⌘+K öffnet die Tool-Suche – schneller als jedes Bookmark.
  • Dark-/Light-Mode und Sprache lassen sich oben rechts umschalten (auch Deutsch verfügbar).
  • Beliebte Tools: JWT Decoder, UUID Generator, Hash All, Regex Tester, QR-Code Generator, JSON ↔ YAML, Cron-Expression-Parser, IP-Rechner.

💡 Kein Daten-Volume nötig! IT-Tools speichert nichts Serverseitiges – es gibt keine Datenbank und keine eigenen Dateien. Der Container ist damit komplett austauschbar: löschen und neu starten genügt, verloren geht höchstens die Browser-Favoritenliste.

Reverse Proxy & HTTPS – wichtiger als gedacht

# Caddyfile
tools.meine.domain {
    encode zstd gzip
    reverse_proxy 127.0.0.1:50519
}

Für den Alltag reicht die Loopback-URL. Wer die Tools im Team oder von unterwegs nutzt, hängt einen Reverse Proxy davor – und sollte dabei HTTPS nicht weglassen, denn der Fork-README weist auf einen echten Grund hin:

⚠️ HTTPS ist empfohlen: Werkzeuge wie PGP-Verschlüsselung nutzen die WebCrypto-API des Browsers – die ist nur unter HTTPS/SSL verfügbar. Auch die PWA-Installation („App installieren“) verlangt eine sichere Verbindung. Selbst im Heimnetz lohnt sich daher ein Let’s-Encrypt-Zertifikat (Caddy macht das automatisch, siehe Beispiel oben).

Ohne eigene Domain? Dann Port-Weiterleitung + IP-Zertifikat vermeiden und lieber per VPN/SSH-Tunnel auf den Loopback-Port zugreifen.

Updates & „Backups“ (kurz)

cd ~/it-tools
docker compose up -d --pull always   # bzw. docker compose pull && up -d
  • Backup: es gibt nichts zu sichern – keine Datenbank, keine Konfigurationsdateien. Einzige „Daten“ sind die Favoriten im Browser (bei Bedarf Browser-Profil mitnehmen).
  • Update-Verhalten: Mit pull_policy: always wird bei jedem Neustart neu gepullt. Für Server, die auch offline starten können sollen (z. B. nach Wartungsarbeiten ohne Internet), besser auf ein gepinntes Tag oder das Entfernen der Policy setzen.

Fehlerbehebung: Die häufigsten Stolperfallen

ProblemLösung
Seite nicht erreichbar („Connection refused“)Port-Mapping prüfen: Der Fork lauscht intern auf 8080 (50519:8080), nicht auf 80. docker compose ps zeigt, ob der Container läuft.
Container startet nicht ohne Internetpull_policy: always versucht bei jedem Start einen Pull. Zeile entfernen oder konkretes Image-Tag pinnen.
PGP-/Krypto-Tools werfen FehlerDie WebCrypto-API braucht HTTPS – Seite über https:// aufrufen (auch intern per Reverse Proxy).
Werkzeugliste ist leer / UI lädt nichtBrowser-Cache leeren oder Seite hart neu laden (Cache-Problem nach Updates). Zusätzlich docker logs itt auf Fehler prüfen.
Eigene Tools/Subdomain 404Bei Hosting unter einem Unterpfad BASE_URL=/pfad/ setzen – ohne Angabe erwartet die App den Wurzelpfad.
Port 50519 schon belegtAnderen freien Loopback-Port wählen und das Mapping anpassen; danach docker compose up -d.

Fazit

IT-Tools ist eines der unkompliziertesten Self-Hosting-Projekte überhaupt: ein Container, keine Daten, keine Konfiguration – und trotzdem ein Werkzeug, das man täglich benutzt. Genau diese Schlichtheit macht es zum perfekten Einstieg in die eigene Docker-Welt: Wer den Stack einmal verstanden hat, hat das Muster für alle anderen Tutorials hier im Blog gelernt. Und weil alle Eingaben im Browser bleiben, ist es auch datenschutztechnisch ein Volltreffer.

Zum Mitnehmen: (1) Interner Port ist 8080 (Fork-Basis nginx-unprivileged) – nicht 80. (2) Web-UI nur auf 127.0.0.1 + Reverse Proxy nach außen. (3) HTTPS verwenden (WebCrypto für PGP, PWA-Installation). (4) pull_policy: always ist Komfort, verhindert aber Offline-Starts – wer Stabilität will, pinnt. (5) Kein Volume, kein Backup, kein Login nötig – die Werkzeuge laufen komplett im Browser.

R
Von der Selfhosted-Redaktion

Wir betreiben unsere komplette Infrastruktur selbst auf Open-Source-Software und schreiben nur über Tools, die wir im Alltag wirklich einsetzen. Fragen zum Artikel? Schreib uns.