Linkding + Traefik
Requerimientos previos
- Docker instalado
- Instancia de Traefik instalada y corriendo
- Red de Docker creada para conectar contenedor con Traefik
- Opcionalmente, usa un middleware configurado en Traefik:
- autodetectContenttype@file
Pasos
- Preparar dominio/subdominio de la instancia a configurar
- Crear archivos de configuración
- Cambiar valores de acuerdo a las necesidades de la instancia
- Levantar contenedor (docker composer up)
- Visitar aplicación y comprobar que esté funcionando correctamente
Archivos de configuración
.env
LD_SUPERUSER_NAME=admin
LD_SUPERUSER_PASSWORD=abc1234567
LD_DISABLE_BACKGROUND_TASKS=False
LD_DISABLE_URL_VALIDATION=False
LD_ENABLE_AUTH_PROXY=False
LD_LOG_X_FORWARDED_FOR=true
LD_FAVICON_PROVIDER=https://icons.duckduckgo.com/ip3/{domain}.ico
VOLUME_PATH=./files
compose.yaml
En la configuración de entrypoints
y certresolver
cambiar de acuerdo a los valores configurados en Traefik.
services:
linkding:
container_name: linkding
image: sissbruecker/linkding:latest
restart: unless-stopped
volumes:
- ${VOLUME_PATH}/data:/etc/linkding/data
env_file:
- .env
networks:
- traefik
labels:
- "traefik.enable=true"
- "traefik.http.routers.linkding.rule=Host(`ejemplo.com`)"
- "traefik.http.routers.linkding.entrypoints=https"
- "traefik.http.routers.linkding.tls=true"
- "traefik.http.routers.linkding.tls.certresolver=tls"
- "traefik.http.routers.linkding.middlewares=autodetectContenttype@file"
- "traefik.http.services.linkding.loadbalancer.server.port=9090"
- "traefik.http.services.linkding.loadbalancer.passHostHeader=true"
networks:
traefik:
external: true