commit 36fe56c1c349612d830349f72a073bfa2ba391f7 Author: Jens Beckmann Date: Sat Aug 1 12:52:50 2026 +0000 docker-compose.yaml hinzugefügt diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..1909c5c --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,47 @@ +version: '3' + +services: + linkwarden: + image: ghcr.io/linkwarden/linkwarden:latest + container_name: linkwarden + restart: unless-stopped + + # Falls Linkwarden Snapshots/Archivierung speichern soll, Volumen mounten + volumes: + - ./data:/data + + environment: + # 1. Verbindung zur bestehenden PostgreSQL-Datenbank + # Format: postgresql://USER:PASSWORD@HOST:PORT/DATABASE_NAME?sslmode=disable + # HINWEIS: Wenn die DB auf dem gleichen Host läuft (nicht im Docker), verwende oft 'host.docker.internal' statt localhost + DATABASE_URL: postgresql://linkwarden_user:geheimes_passwort@:5432/linkwarden_db?sslmode=disable + + # 2. Ein sicherer Schlüssel für Sessions (z.B. mit `openssl rand -hex 32` generieren) + NEXTAUTH_SECRET: + + # 3. Deine Domain + BASE_URL: https://linkwarden.ljh31.de + + # Optional: Keycloak / OIDC Konfiguration (falls du es weiter nutzen willst) + # AUTH_OAUTH_KEYCLOAK_ID: ... + # AUTH_OAUTH_KEYCLOAK_SECRET: ... + + # Netzwerk-Verbindung zum Traefik-Proxy anpassen (Name oft 'proxy', 'traefik' oder 'web') + networks: + - traefik_network + + labels: + - "traefik.enable=true" + # Router Config + - "traefik.http.routers.linkwarden.rule=Host(`linkwarden.ljh31.de`)" + - "traefik.http.routers.linkwarden.entrypoints=websecure" + - "traefik.http.routers.linkwarden.tls=true" + - "traefik.http.routers.linkwarden.tls.certresolver=myresolver" # Anpassen falls dein Resolver anders heißt + + # Service Config (Intern ist Linkwarden auf Port 3000) + - "traefik.http.services.linkwarden.loadbalancer.server.port=3000" + +# Definiere das externe Netzwerk, an dem dein Traefik hängt +networks: + traefik_network: + external: true \ No newline at end of file