services: shlink-backend: extends: file: ${TEMPLATES_PATH} service: default image: shlinkio/shlink:latest container_name: shlink-backend ports: - '4004:8080' volumes: - ${SERVICE_PATH}/stirling-pdf/data:/usr/share/tesseract-ocr/4.00/tessdata #Required for extra OCR languages - ${SERVICE_PATH}/stirling-pdf/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"