kutt Docker & Self-Hosted Deployment

GitHub

Free Modern URL Shortener.

11,159 stars JavaScript JavaScript 1 file ยท ~3,886 tokens #link-shortener#shorten-urls#shortener#url-shortener#urlshortener
RAW Compose
1. Pull Image (DOCKERHUB) docker pull library/mariadb
2. Docker Run (1-Click Launch) docker run -d --name kutt -p 3000:3000 --restart always mariadb:10
3. Podman Run podman run -d --name kutt -p 3000:3000 --restart always mariadb:10
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/library/mariadb:10
5. ORAS Pull (OCI Artifact) oras pull mariadb:10
6. Compose Deployment docker compose up -d
docker-compose.mariadb.yml
Download .yml
services:
  server:
    build:
      context: .
    volumes:
      - custom:/kutt/custom
    environment:
        DB_CLIENT: mysql2
        DB_HOST: mariadb
        DB_PORT: 3306
        REDIS_ENABLED: true
        REDIS_HOST: redis
        REDIS_PORT: 6379
    ports:
      - 3000:3000
    depends_on:
      mariadb:
        condition: service_healthy
      redis:
        condition: service_started
  mariadb:
    image: mariadb:10
    restart: always
    healthcheck:
      test: ['CMD-SHELL', 'mysql ${DB_NAME} --user=${DB_USER} --password=${DB_PASSWORD} --execute "SELECT 1;"']
      interval: 3s
      retries: 5
      start_period: 30s
    volumes:
      - db_data_mariadb:/var/lib/mysql
    environment:
      MARIADB_DATABASE: ${DB_NAME}
      MARIADB_USER: ${DB_USER}
      MARIADB_PASSWORD: ${DB_PASSWORD}
      MARIADB_ROOT_PASSWORD: ${DB_PASSWORD}
    expose:
      - 3306
  redis:
    image: redis:alpine
    restart: always
    expose:
      - 6379
volumes:
  db_data_mariadb:
  custom: