Files
svc-linkwarden/docker-compose.yaml
T
2026-08-01 14:36:06 +00:00

49 lines
1.8 KiB
YAML

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: ${DATABASE_URL}
# 2. Ein sicherer Schlüssel für Sessions (z.B. mit `openssl rand -hex 32` generieren)
NEXTAUTH_SECRET: ${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: ${KEYCLOAK_ID}
AUTH_OAUTH_KEYCLOAK_SECRET: ${KEYCLOAK_SECRET}
AUTH_OAUTH_KEYCLOAK_NAME: Keycloak
AUTH_OAUTH_KEYCLOAK_ISSUER: ${KEYCLOAK_ISSUER}
# Netzwerk-Verbindung zum Traefik-Proxy anpassen (Name oft 'proxy', 'traefik' oder 'web')
networks:
- infra-traefik_default
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=letsencrypt" # 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:
infra-traefik_default:
external: true