services: kutt: image: kutt/kutt:v3.2.6 container_name: kutt depends_on: redis: condition: service_started restart: unless-stopped ports: - 3000:3000/tcp expose: - 3000 volumes: - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/kutt/data:/var/lib/kutt - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/kutt/custom:/kutt/custom environment: - DB_FILENAME=/var/lib/kutt/data.sqlite - REDIS_ENABLED=true - REDIS_HOST=redis - REDIS_PORT=6379 - TZ=Europe/Berlin - JWT_SECRET=${KUTT_JWT_SECRET:-Kutt} - PORT=3000 - SITE_NAME=${KUTT_SITE_NAME:-Kutt} - DEFAULT_DOMAIN=${KUTT_DEFAULT_DOMAIN:-localhost:3000} - LINK_LENGTH=${KUTT_LINK_LENGTH:-6} - DISALLOW_REGISTRATION=${KUTT_DISALLOW_REGISTRATION:-true} - DISALLOW_LOGIN_FORM=${KUTT_DISALLOW_LOGIN_FORM:-false} - DISALLOW_ANONYMOUS_LINKS=${KUTT_DISALLOW_ANONYMOUS_LINKS:-true} - TRUST_PROXY=${KUTT_TRUST_PROXY:-true} - DB_CLIENT=better-sqlite3 - DB_FILENAME=/var/lib/kutt/data.sqlite - REDIS_ENABLED=true - REDIS_HOST=redis - REDIS_PORT=6379 - REDIS_DB=0 - ENABLE_RATE_LIMIT=${KUTT_ENABLE_RATE_LIMIT:-true} - CUSTOM_DOMAIN_USE_HTTPS=${KUTT_CUSTOM_DOMAIN_USE_HTTPS:-true} - MAIL_ENABLED=${KUTT_MAIL_ENABLED:-false} #- MAIL_HOST=${KUTT_MAIL_HOST} #- MAIL_PORT=${KUTT_MAIL_PORT:-587} #- MAIL_USER=${KUTT_MAIL_USER} #- MAIL_PASSWORD=${KUTT_MAIL_PASSWORD} #- MAIL_FROM=${KUTT_MAIL_FROM} #- MAIL_SECURE=${KUTT_MAIL_SECURE:-false} - OIDC_ENABLED=${KUTT_OIDC_ENABLED:-false} #- OIDC_ISSUER=${KUTT_OIDC_ISSUER} #- OIDC_POMPT=${KUTT_OIDC_POMPT:-login} #- OIDC_CLIENT_ID=${KUTT_OIDC_CLIENT_ID} #- OIDC_CLIENT_SECRET=${KUTT_OIDC_CLIENT_SECRET} #- OIDC_SCOPE=${KUTT_OIDC_SCOPE:-openid profile email} #- OIDC_EMAIL_CLAIM=${KUTT_OIDC_EMAIL_CLAIM:-email} #- OIDC_BUTTON_TEXT=${KUTT_OIDC_BUTTON_TEXT:-Log in with OIDC} #- SERVER_IP_ADDRESS=${KUTT_SERVER_IP_ADDRESS} #- SERVER_CNAME_ADDRESS=${KUTT_SERVER_CNAME_ADDRESS} #- REPORT_EMAIL=${KUTT_REPORT_EMAIL} #- CONTACT_EMAIL=${KUTT_CONTACT_EMAIL} - TZ=Europe/Berlin #networks: # - proxy # - internal #labels: # - traefik.enable=true # - traefik.docker.network=proxy # - traefik.http.routers.kutt.rule=Host(`kutt.example.com`) # - traefik.http.services.kutt.loadbalancer.server.port=3000 # # Optional part for Traefik middlewares # - traefik.http.routers.kutt.middlewares=local-ipwhitelist@file,crowdsec@file redis: image: redis:8-alpine container_name: kutt-redis restart: unless-stopped expose: - 6379 #networks: # - internal #networks: # proxy: # external: true # internal: # internal: true