50 lines
1.7 KiB
YAML
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"
|
|
|