Installer Kutt avec Docker
Kutt

Installer Kutt avec Docker

Table des matières

GitHub - thedevs-network/kutt: Free Modern URL Shortener.
Free Modern URL Shortener. Contribute to thedevs-network/kutt development by creating an account on GitHub.

Pour plusieurs raisons, il peut-être intéressant de raccourcir un lien. Je vous ai déjà proposé quelques solutions, celle-ci en est une autre. Plus il y a de choix, mieux c'est non?

Aujourd'hui nous allons parler de Kutt ! Un raccourcisseur d'URL moderne prenant en charge les domaines personnalisés et qui va vous permettre de créer, modifier des liens, afficher des statistiques, gérer les utilisateurs, et bien plus encore.


⚡ Caractéristiques

  • Créé en pensant à l'auto-hébergement :
    1. Aucune configuration nécessaire
    2. Installation facile sans étape de construction
    3. Prise en charge de diverses bases de données (SQLite, Postgres, MySQL)
    4. Possibilité de désactiver l'enregistrement et les liens anonymes
  • Support des domaines personnalisés.
  • Définition d'URLs, de mots de passe, de descriptions et de délais d'expiration personnalisés pour les liens.
  • Visualiser, éditer, supprimer et gérer vos liens.
  • Statistiques privées pour les URL raccourcis.
  • Page d'administration pour gérer les utilisateurs et les liens.
  • Personnalisation et thèmes.
  • API RESTful.

💾 L'installation

  1. Créez votre compose.yml dans le dossier ou vous comptez installer Kutt:
sudo nano compose.yml
  1. Et collez ça dedans:
services:
  server:
    image: kutt/kutt:latest
    restart: always
    volumes:
      - db_data_sqlite:/var/lib/kutt
      - custom:/kutt/custom
    environment:
      DB_FILENAME: "/var/lib/kutt/data.sqlite"
      REDIS_ENABLED: true
      REDIS_HOST: redis
      REDIS_PORT: 6379
      DEFAULT_DOMAIN: kutt.mondomaine.com
      DISALLOW_ANONYMOUS_LINKS: true
      DISALLOW_REGISTRATION: true
      JWT_SECRET: agreement-hyperlink-mountable-generous-caboose-predefine
    ports:
      - 3075:3000
    depends_on:
      redis:
        condition: service_started
  redis:
    image: redis:alpine
    restart: always
    expose:
      - 6379
volumes:
  db_data_sqlite:
  custom:
  • DEFAULT_DOMAIN: kutt.mondomaine.com => Indiquez le domaine qui sera lié à votre instance Kutt.
  • DISALLOW_ANONYMOUS_LINKS: true => Désactiver la création de liens anonymes. Sur false, il sera donc permis de créer des liens anonymes.
  • DISALLOW_REGISTRATION: true => Désactivez l'enregistrement en laissant sur true, sur false vous autoriserez les inscriptions.
    Si MAIL_ENABLED est défini sur false, l'inscription sera toujours désactivée car elle s'appuie sur les e-mails pour inscrire les utilisateurs.
  • JWT_SECRET: xxxxxx => Ceci est utilisé pour signer les jetons d’authentification. Utilisez une longue chaîne aléatoire : une longue phrase de passe, un long mot de passe ou tout simplement une longue chaîne aléatoire de lettres & chiffres.
  1. On va déployer l'application:
docker compose up -d
  1. Rendez-vous sur votre domaine :
https://kutt.mondomaine.com

👤 Création du compte administrateur

Lorsque vous lancez votre instance Kutt pour la première fois, vous serez invité à créer votre compte administrateur :

  • Email address => Indiquez une adresse e-mail.
  • Password => Indiquez un mot de passe fort. Attention de ne pas vous tromper, il n'y a pas de champ de confirmation du mot de passe.

Cliquez sur Create admin account pour terminer.

Vous serez redirigé vers la page de connexion, entrez vos identifiants et terminez en cliquant sur Log in :

Vous serez redirigé vers votre tableau de bord :


🔗 Créer un lien raccourci

Il est très simple de raccourcir une URL. Collez ou tapez l'URL dans le champ prévu à cet effet et cliquez sur le flèche :

Vous avez également la possibilité de cocher Show advanced options :

  • Domain => choisissez le domaine.
  • Choisissez éventuellement une adresse personnalisée, ici belginux.
  • Password => vous pouvez mettre un mot de passe sur le lien.
  • Expire in => Décidez de l'expiration du lien.
  • Desciption => Ajoutez éventuellement une description.

Quand vous aurez cliqué sur la flèche, vous aurez directement le lien raccourci, il suffira de faire un simple clic gauche sur votre souris pour qu'il soit copié :

Si vous devez revenir ultérieurement sur votre instance Kutt pour récupérer un lien, il sera répertorié avec les autres, ici, en dessous du champ pour raccourcir un lien :


🔧 Les options de lien

Vous remarquerez qu'il existe en bout de ligne des liens, plusieurs options :

Dans l'ordre :

  • Les statistiques :
  • Le partage par QR Code.
  • L'édition du lien.
  • Suppression du lien.

⚙️ Les paramètres

En cliquant en haut à droite sur Settings :

Vous aurez plusieurs paramètres comme :

  1. L'ajout d'un domaine personnalisé.
  2. Générer une clé API.
  3. Modifier le mot de passe.
  4. Supprimer le compte.

📬 Activer le serveur mail

Si vous voulez autoriser les inscriptions, il vous faudra un serveur mail.

Si vous avez votre propre service mail, vous avez les informations nécessaires à entrer ci-dessous.

Mais vous pouvez également utiliser les serveurs mail de Google, Outlook, Infomaniak,.. Jetez un œil ici pour avoir les paramètres nécessaires:

Configurer le SMTP pour envoyer un mail avec une application Docker
Tutoriel pour configurer le SMTP afin d’envoyer un mail à partir de vos applications self-hosted.

Voici le compose avec le serveur mail :

services:
  server:
    image: kutt/kutt:latest
    restart: always
    volumes:
      - db_data_sqlite:/var/lib/kutt
      - custom:/kutt/custom
    environment:
      DB_FILENAME: "/var/lib/kutt/data.sqlite"
      REDIS_ENABLED: true
      REDIS_HOST: redis
      REDIS_PORT: 6379
      DEFAULT_DOMAIN: zzzlink.mm2.be/
      DISALLOW_ANONYMOUS_LINKS: true
      DISALLOW_REGISTRATION: false
      JWT_SECRET: agreement-hyperlink-mountable-generous-caboose-predefine
      MAIL_ENABLED: true
      MAIL_HOST: smtp.domaine.com
      MAIL_PORT: 587
      MAIL_USER: monmail@gmail.com
      MAIL_PASSWORD: MonMotDePasse
      MAIL_FROM: monmail@gmail.com
      MAIL_SECURE: true
      REPORT_EMAIL: monmail@gmail.com
      CONTACT_EMAIL: monmail@gmail.com
    ports:
      - 3075:3000
    depends_on:
      redis:
        condition: service_started
  redis:
    image: redis:alpine
    restart: always
    expose:
      - 6379
volumes:
  db_data_sqlite:
  custom:
  • MAIL_ENABLED: true => Ne changez rien.
  • MAIL_HOST: smtp.domaine.com => Hôte du serveur de messagerie.
  • MAIL_PORT: 587 => Port du serveur de messagerie.
  • MAIL_USER: monmail@gmail.com => Utilisateur du serveur de messagerie, votre adresse e-mail complète.
  • MAIL_PASSWORD: MonMotDePasse => Mot de passe de votre adresse e-mail.
  • MAIL_FROM: monmail@gmail.com => Adresse e-mail à partir de laquelle envoyer l'utilisateur
  • MAIL_SECURE: true => Utiliser ou non le protocole SSL pour la connexion au serveur de messagerie. Réglez sur false ou true. Si vous utilisez le tls, mettez sur false.
  • REPORT_EMAIL: monmail@gmail.com => L'adresse courriel qui recevra les rapports.
  • CONTACT_EMAIL: monmail@gmail.com => L'adresse électronique de l'assistance à afficher sur l'application.

L'option pour s'inscrire est bien visible :

Et le serveur mail fonctionne bel et bien :


zarev

->.<-
🐧 Passionné de self-hosting, je partage ce que je connais et me nourris des connaissances des bonnes âmes qui partagent avec moi. Soutenons l'utilisation des apps open source et leurs développeurs.

Vous pourriez aussi aimer