Kutt

Free Modern URL Shortener.

Directory Structure

    • .env
    • docker-compose.yml

docker-compose.yml

version: "3"
 
services:
  kutt:
    image: kutt/kutt
    depends_on:
      - postgres
      - redis
    command: ["./wait-for-it.sh", "postgres:5432", "--", "npm", "start"]
    ports:
      - "3000:3000"
    env_file:
      - .env
    environment:
      DB_HOST: postgres
      DB_NAME: kutt
      DB_USER: user
      DB_PASSWORD: pass
      REDIS_HOST: redis
 
  redis:
    image: redis:6.0-alpine
    volumes:
      - ./redis_data:/data
 
  postgres:
    image: postgres:12-alpine
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: pass
      POSTGRES_DB: kutt
    volumes:
      - ./postgres_data:/var/lib/postgresql/data

.env

# App port to run on
PORT=3000
 
# The name of the site where Kutt is hosted
SITE_NAME=Kutt
 
# The domain that this website is on
DEFAULT_DOMAIN=localhost:3000
 
# Generated link length
LINK_LENGTH=6
 
# Postgres database credential details
DB_HOST=postgres
DB_PORT=5432
DB_NAME=postgres
DB_USER=
DB_PASSWORD=
DB_SSL=false
 
# Redis host and port
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=
REDIS_DB=
 
# Disable registration
DISALLOW_REGISTRATION=false
 
# Disable anonymous link creation
DISALLOW_ANONYMOUS_LINKS=false
 
# The daily limit for each user
USER_LIMIT_PER_DAY=50
 
# Create a cooldown for non-logged in users in minutes
# Set 0 to disable
NON_USER_COOLDOWN=0
 
# Max number of visits for each link to have detailed stats
DEFAULT_MAX_STATS_PER_LINK=5000
 
# Use HTTPS for links with custom domain
CUSTOM_DOMAIN_USE_HTTPS=false
 
# A passphrase to encrypt JWT. Use a long and secure key.
JWT_SECRET=securekey
 
# Admin emails so they can access admin actions on settings page
# Comma seperated
ADMIN_EMAILS=
 
# Invisible reCaptcha secret key
# Create one in https://www.google.com/recaptcha/intro/
RECAPTCHA_SITE_KEY=
RECAPTCHA_SECRET_KEY=
 
# Google Cloud API to prevent from users from submitting malware URLs.
# Get it from https://developers.google.com/safe-browsing/v4/get-started
GOOGLE_SAFE_BROWSING_KEY=
 
# Your email host details to use to send verification emails.
# More info on http://nodemailer.com/
# Mail from example "Kutt <support@kutt.it>". Leave empty to use MAIL_USER
MAIL_HOST=
MAIL_PORT=
MAIL_SECURE=true
MAIL_USER=
MAIL_FROM=
MAIL_PASSWORD=
 
# The email address that will receive submitted reports.
REPORT_EMAIL=
 
# Support email to show on the app
CONTACT_EMAIL=

Resources

Website: https://kutt.it/

GitHub: https://github.com/thedevs-network/kutt

Docker Hub: https://hub.docker.com/r/kutt/kutt

Configuration: https://github.com/thedevs-network/kutt#docker