Files
home-server-docker/project/service/shlink/shlink.yml
2024-02-17 15:18:46 +01:00

50 lines
1.7 KiB
YAML

services:
shlink-backend:
extends:
file: ${TEMPLATES_PATH}
service: default
image: shlinkio/shlink:latest
container_name: shlink-backend
ports:
- '4004:8080'
volumes:
- ${SERVICE_PATH}/shlink/data:/usr/share/tesseract-ocr/4.00/tessdata #Required for extra OCR languages
- ${SERVICE_PATH}/shlink/config:/configs
environment:
DEFAULT_DOMAIN: ${PUBLIC_DOMAIN}
IS_HTTPS_ENABLED: true
# GEOLITE_LICENSE_KEY: # optional, to geolocate visit, see https://shlink.io/documentation/geolite-license-key/
# DB
DB_DRIVER: postgres
DB_USER: shlink
DB_PASSWORD: ${SHLINK_DATABASE_PASSWORD}
DB_HOST: postgres
labels:
# Watchtower
- "com.centurylinklabs.watchtower.enable=true"
# Traefik
- "traefik.enable=true"
- "traefik.http.routers.shlink-backend.rule=Host(`shlink-backend.${LOCAL_DOMAIN}`)"
- "traefik.http.routers.shlink-backend.entrypoints=https"
- "traefik.http.routers.shlink-backend.tls=true"
shlink-frontend:
extends:
file: ${TEMPLATES_PATH}
service: default
image: shlinkio/shlink-web-client:latest
container_name: shlink-frontend
ports:
- '4005:8080'
environment:
SHLINK_SERVER_URL: https://shlink-backend.${LOCAL_DOMAIN}
SHLINK_SERVER_API_KEY: ${SHLINK_SERVER_API_KEY}
labels:
# Watchtower
- "com.centurylinklabs.watchtower.enable=true"
# Traefik
- "traefik.enable=true"
- "traefik.http.routers.shlink-frontend.rule=Host(`shlink.${LOCAL_DOMAIN}`)"
- "traefik.http.routers.shlink-frontend.entrypoints=https"
- "traefik.http.routers.shlink-frontend.tls=true"