← Zurück zur Übersicht Homepage mit Docker Compose: Eigenes Dashboard lokal auf Port 3000 starten

Homepage mit Docker Compose: Eigenes Dashboard lokal auf Port 3000 starten

Homepage mit Docker Compose: Eigenes Dashboard lokal auf Port 3000 starten

Ein sauberer Docker-Host wird schnell unordentlich, wenn Bookmarks, Admin-URLs, Doku-Links und lokale Dienste ueber Browserleisten, Notizen und Chat-Verlaeufe verteilt sind. Homepage ist fuer genau diesen Moment stark: ein leichtes Dashboard, komplett YAML-basiert, schnell geladen und ohne schweres Zusatzsystem.

Der Stand fuer diesen Artikel ist belastbar genug fuer einen brauchbaren Fallback. Die offizielle Docker-Doku von Homepage zeigt am 2. Mai 2026 weiter ein Compose-Setup mit ghcr.io/gethomepage/homepage:latest, Port 3000 und einem gemounteten Konfigurationsordner unter /app/config. Gleichzeitig fuehrt GitHub v1.12.3 weiterhin als neueste Release vom 1. April 2026. Fuer ein reproduzierbares Setup pinne ich deshalb bewusst auf ghcr.io/gethomepage/homepage:v1.12.3 statt blind latest zu ziehen.

Die zweite wichtige Einordnung kommt direkt aus der offiziellen Installationsseite: Homepage bringt keine eigene Authentifizierung mit. Fuer einen lokalen Start auf 127.0.0.1 ist das okay. Fuer einen spaeteren Internet-Zugriff gehoeren Reverse Proxy, TLS und vorgeschaltete Anmeldung davor.

Lokal erzeugtes Artikelbild fuer Homepage mit Docker Compose

Was du am Ende hast

  • Homepage lokal unter http://127.0.0.1:3000
  • Ein kleines Compose-Setup mit persistentem Konfigurationsordner
  • Eine editierbare Startseite auf Basis von settings.yaml, services.yaml und widgets.yaml
  • Ein sichtbares Ergebnis im Browser statt nur eines weiteren abstrakten Docker-Grundlagenposts

Voraussetzungen

  • Docker Engine ist installiert
  • docker compose ist verfuegbar
  • Port 3000 ist lokal frei

Pruefe das kurz:

docker --version
docker compose version

1. Projektordner anlegen

Nicht in einem alten Compose-Verzeichnis weiterarbeiten. Lege dir zuerst einen dedizierten Arbeitsordner an:

mkdir homepage-local
cd homepage-local
mkdir -p config

2. Compose-Datei schreiben

Speichere im Projektordner die Datei homepage-local/compose.yaml:

services:
  homepage:
    image: ghcr.io/gethomepage/homepage:v1.12.3
    container_name: homepage
    ports:
      - "127.0.0.1:3000:3000"
    environment:
      HOMEPAGE_ALLOWED_HOSTS: localhost:3000,127.0.0.1:3000
    volumes:
      - ./config:/app/config
    restart: unless-stopped

Warum genau so?

  • 127.0.0.1:3000:3000 haelt den Start bewusst lokal
  • ./config:/app/config macht deine YAML-Dateien persistent und leicht editierbar
  • HOMEPAGE_ALLOWED_HOSTS folgt der aktuellen Doku zur Host-Validierung
  • das Pinning auf v1.12.3 verhindert spaetere Ueberraschungen durch latest

3. Die erste Konfiguration anlegen

Homepage lebt von YAML. Fuer einen schnellen, klaren Start reichen drei Dateien.

homepage-local/config/settings.yaml

title: Homelab Start
description: Schnellzugriff fuer lokale Tools und taegliche Links
fullWidth: true
useEqualHeights: true
layout:
  Start:
    style: row
    columns: 3

homepage-local/config/services.yaml

---
- Start:
    - Homepage:
        href: http://127.0.0.1:3000
        description: Dein lokales Dashboard
    - Docker Docs:
        href: https://docs.docker.com/
        description: Compose, Images und Referenz
    - GitHub:
        href: https://github.com/
        description: Repositories, Releases und Issues

homepage-local/config/widgets.yaml

---
- search:
    provider: [duckduckgo, google]
    focus: true
    showSearchSuggestions: true
    target: _blank

- datetime:
    text_size: xl
    locale: de-DE
    format:
      dateStyle: short
      timeStyle: short
      hourCycle: h23

Das ist absichtlich klein gehalten. Der Punkt am ersten Tag ist nicht perfekte Personalisierung, sondern ein laufendes Dashboard mit sofort erkennbarem Nutzen.

4. Container starten

Jetzt ziehst du das gepinnte Image und startest den Stack:

docker compose pull
docker compose up -d

Wenn das Image bereits lokal vorhanden ist, geht das schnell. Beim ersten Start dauert es etwas laenger, weil Compose das Release aus der Registry zieht.

5. Lokal pruefen

Pruefe zuerst, ob der Container wirklich laeuft:

docker compose ps

Danach teste direkt gegen die lokale Weboberflaeche:

curl -I http://127.0.0.1:3000

Ein HTTP/1.1 200 OK oder ein sauberer Redirect ist hier das richtige Signal. Falls Homepage noch nicht antwortet, wirf einen Blick in die Logs:

docker compose logs --tail=100 homepage

6. Das sichtbare Ergebnis erzeugen

Oeffne jetzt http://127.0.0.1:3000 im Browser. Wenn alles sauber steht, solltest du direkt sehen:

  • die Suchleiste oben
  • das Datums- und Uhrzeit-Widget
  • drei Startkarten aus deiner services.yaml

Wenn du eine YAML-Datei aenderst, nutze danach in der Oberfläche unten rechts das Refresh-Symbol, damit Homepage die statische Ausgabe neu erzeugt. Genau an diesem Punkt ist das Projekt mehr als nur ein laufender Container: Du hast eine echte, benutzbare Startseite, die du mit deinen eigenen Diensten weiterfuellen kannst.

7. Sinnvolle naechste Schritte

Sobald der Basis-Start funktioniert, sind diese Erweiterungen praktisch:

  • Ersetze die Demo-Links in services.yaml durch echte lokale Ziele wie Gitea, Vaultwarden oder Uptime Kuma.
  • Ergaenze spaeter bookmarks.yaml, wenn du getrennte Link-Sammlungen willst.
  • Nutze nur dann den Docker-Socket fuer Container-Discovery, wenn du die zusaetzliche Angriffsoberflaeche bewusst akzeptierst.
  • Stelle Homepage nicht offen ins Internet, solange kein Reverse Proxy mit Authentifizierung und TLS davorsitzt.

Warum dieser Fallback heute stark genug ist

Wenn ein News-Thema nicht sauber genug bestaetigt oder zu nah an bereits behandelten Themen liegt, muss der Ersatz besser sein als der naechste generische "Docker fuer Anfaenger"-Text. Homepage schafft das am 2. Mai 2026 noch klar:

  • die offizielle Docker-Dokumentation ist aktuell und konkret
  • das Projekt hat mit v1.12.3 einen klar benennbaren stabilen Stand
  • das Ergebnis ist in wenigen Minuten sichtbar
  • der praktische Nutzen ist sofort da, selbst ohne grosses Homelab

Gerade fuer Leute, die mehrere Admin-Oberflaechen, Doku-Ziele und taegliche Web-Tools offen halten, ist so eine lokale Startseite deutlich brauchbarer als noch ein weiterer Container, der im Alltag nie wirklich benutzt wird.

Quellen