By Walid ETTAYEB

Kutt.it est une petite application géniale. Elle a une interface simple et propre, et fait exactement ce que vous attendez d'une application de raccourcissement de liens.

L'installation est assez simple, et comme la plupart des sujets que je traite, nous utiliserons Docker et Docker-Compose.

Ce qu'il vous faut:

  • Un serveur ou une machine sur laquelle Docker et Docker-compose sont installés.
  • Un nom de domaine que vous possédez et pour lequel vous pouvez définir un enregistrement A avec l'adresse IP publique de votre serveur.
  • (Suggéré) NGinX Proxy Manager pour proxyer le trafic et obtenir des certificats LetsEncrypt pour l'application.

Installation de NGinX Proxy Manager

NGinX Proxy Manager (NPM) doit disposer des ports 80 et 443 sur la machine sur laquelle vous l'installez.  Si vous avez déjà un conteneur utilisant les ports 80 et 443 sur cette machine, vous devez arrêter ce conteneur, puis installer et démarrer NPM.  Ensuite, effectuez tous les ajustements nécessaires à l'autre conteneur pour utiliser d'autres ports.

Comment utiliser Nginx Proxy Manager
Grâce à ce tutoriel, vous allez pouvoir installer et déployer Nginx Proxy Manager sur un serveur Ubuntu exécutant Docker.

Installation de Kutt.it

Pour installer Kutt.it, vous devez télécharger le dépôt de Github.

git clone https://github.com/thedevs-network/kutt.git
cd kutt

Ensuite, nous devons copier le fichier .docker.env dans un fichier appelé ".env".

cp .docker.env .env

Maintenant, nous devons modifier le contenu du fichier .env que nous venons de copier.

nano .env

Dans ce fichier, nous devons modifier les champs suivants :

SITE_NAME (le titre de votre site)
DEFAULT_DOMAIN (vous avez besoin d'un domaine pour que cela fonctionne, par exemple le mien est url.ettayeb.fr)
LINK_LENGTH (facultatif)
DISALLOW_LOGIN (facultatif)
DISALLOW_ANONYMOOUS_LINKS (facultatif)
USER_LIMIT_PER_DAY (facultatif)
NON_USER_COOLDOWN (facultatif)
JWT_SECRET (faites en sorte que ce soit un secret bien solide - pas quelque chose dont vous devez vous souvenir.)
ADMIN_EMAILS (des emails séparés par des virgules pour les administrateurs du logiciel)

Section Email : Cette section est nécessaire si vous voulez que les inscriptions fonctionnent.  Si vous n'avez pas l'intention d'utiliser la fonction d'inscription, ne vous occupez pas de la section "Email".

MAIL_HOSTMAIL_PORT= (465/SSL , 587/StartTLS )
MAIL_SECURE=true
MAIL_USER=
MAIL_FROM=
MAIL_PASSWORD=
REPORT_EMAIL= (facultatif)

Ensuite, nous devons ouvrir le fichier appelé "docker-compose.yml".

nano docker-compose.yml

Dans ce fichier, vous devez potentiellement modifier les valeurs suivantes :

Dans la section intitulée "kutt", vous voudrez peut-être modifier le port situé à gauche des deux points.  Par défaut, il est défini comme "3000:3000".  Si le port 3000 est déjà utilisé sur votre hôte, vous devez changer le côté gauche des deux points par un port libre.  J'ai changé le mien pour qu'il soit 3030, et cela ressemble maintenant à ceci :

"3030:3000"

Ensuite, vous devez modifier les valeurs de l'environnement dans la section intitulée "kutt" et "postgres", et vous assurer que ces valeurs correspondent:

DB_USER = POSTGRES_USER
DB_PASSWORD = POSTGRES_PASSWORD
DB_NAME = POSTGRES_DB

Définissez les valeurs comme vous le souhaitez, assurez-vous simplement qu'elles sont égales dans ces deux sections.

Lancement du serveur Kutt

Il ne nous reste plus qu'à exécuter Kutt.it avec la commande:

docker-compose up -d

Laissez-lui le temps de télécharger les images nécessaires, puis attendez une minute après avoir vu "done" dans le terminal.  Vous ne pourrez probablement pas l'atteindre via l'adresse IP et le port, mais vous devrez le configurer pour qu'il soit accessible via le nom de domaine que vous avez choisi dans le fichier des variables d'environnement.

Pour sécurisé votre installation, je vous conseille d'utiliser un reverse proxy comme NGinX Proxy Manager ou bien Caddy :

Comment utiliser Nginx Proxy Manager
Grâce à ce tutoriel, vous allez pouvoir installer et déployer Nginx Proxy Manager sur un serveur Ubuntu exécutant Docker.
Configuration avancée de Caddy
Voici comment configurer les Headers de sécurité sur un serveur Caddy ainsi qu’un certificat SSL personnalisé.

Walid ETTAYEB • 36 Articles

Passionné par l'informatique depuis mon plus jeune âge, je transforme ma passion en expertise.

View Articles