Comment créer votre propre gestionnaire de favoris avec Linkding
Linkding est un gestionnaire de signets Web simple mais flexible pour Linux. Semblable aux gestionnaires de favoris hors ligne, il vous permet de créer et d’annoter les liens Web que vous avez accumulés au fil du temps.
Cet article vous montrera comment installer Linkding sur une machine Ubuntu 22.04 à l’aide de Docker et Docker Compose. Il mettra également en évidence comment vous pouvez créer et gérer un utilisateur non-administrateur dans votre nouvelle instance Linkding.
Pourquoi héberger votre propre gestionnaire de favoris en utilisant Linkding ?
L’un des principaux arguments de vente de Linkding est que vous pouvez le déployer rapidement sur un serveur existant et l’utiliser en quelques minutes. Cela signifie que vous n’avez pas besoin de provisionner une nouvelle machine, physique ou autre, pour héberger votre propre gestionnaire de favoris.
Linkding étend également les fonctionnalités de base de la plupart des gestionnaires de favoris pour inclure le partage de liens et le mode multi-utilisateur. Cela le rend idéal pour les utilisateurs qui souhaitent créer une plateforme collaborative privée pour partager des liens entre un groupe.
Obtention de Linkding et Docker Compose
Pour déployer Linkding, vous devez d’abord installer Docker avec son composant Docker Compose. Vous pouvez le faire en récupérant la clé de signature du programme sur le site Web du développeur :
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
Créez un nouveau fichier de référentiel pour votre installation Docker :
sudo nano /etc/apt/sources.list.d/docker.list
Collez la ligne de code suivante dans votre nouveau fichier de référentiel :
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
Rechargez les référentiels de packages de votre système en exécutant la commande suivante :
sudo apt update && sudo apt upgradesudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx
Obtention et déploiement du conteneur Docker Linkding
Créez un nouveau dossier pour Linkding dans votre répertoire personnel et allez-y :
mkdir ~/linkding && cd ~/linkding
Utilisez votre éditeur de texte préféré pour créer un fichier « docker-compose.yml » vide :
nano. /docker-compose.yml
Collez le bloc de code suivant dans votre nouveau fichier de composition :
---
version: "3"
services:
linkding:
container_name: ${LD_CONTAINER_NAME:-linkding}
image: sissbruecker/linkding:latest
ports:
- ${LD_HOST_PORT:-9090}:9090
volumes:
- ${LD_HOST_DATA_DIR:-./data}:/etc/linkding/data
env_file:
-. env
restart: unless-stopped
Enregistrez votre nouveau docker-compose.yml, puis créez un fichier d’environnement pour votre instance. Celui-ci contiendra toutes les variables personnalisées de votre nouvelle installation :
nano ~/linkding/.env
Collez le bloc de code suivant dans votre nouveau fichier d’environnement :
LD_CONTAINER_NAME="linkding"LD_HOST_PORT="9090"LD_HOST_DATA_DIR="./data"LD_SUPERUSER_NAME="linkding"# CHANGE WITH A SECURE USERNAMELD_SUPERUSER_PASSWORD="linkding"# CHANGE WITH A SECURE PASSWORDLD_DISABLE_BACKGROUND_TASKS="False"LD_DISABLE_URL_VALIDATION="False"LD_ENABLE_AUTH_PROXY="False"LD_CSRF_TRUSTED_ORIGINS="https://linkding.your-domain-name.here"
Enfin, créez votre nouveau conteneur Docker en exécutant la commande suivante :
docker compose up -d
Création d’un proxy inverse Nginx pour SSL
À ce stade, vous disposez désormais d’une instance fonctionnelle de Linkding exécutée sur le port 9090. Cependant, pour pouvoir y accéder publiquement, vous devez créer un proxy inverse qui sécurisera les connexions entrantes à l’aide de SSL.
Créez un nouveau fichier de configuration de site pour votre instance :
sudo nano /etc/nginx/sites-available/linkding
Collez le bloc de code suivant dans votre nouveau fichier de site :
server {
listen 80;
listen [::]:80;
root /var/www/html;
server_name linkding.your-domain-name.here;
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:9090;
}}
Supprimez le fichier de configuration du site par défaut et créez un lien symbolique pour votre nouveau fichier de configuration vers « /etc/nginx/sites-enabled » :
sudo rm /etc/nginx/default
sudo ln -s /etc/nginx/sites-available/linkding /etc/nginx/sites-enabled/linkding
Démarrez et activez votre démon Nginx pour appliquer ses nouveaux paramètres :
sudo systemctl restart nginx
sudo systemctl enable --now nginx
Activation de SSL pour votre instance de liaison
Assurez-vous que votre ordinateur dispose du binaire Core Snap le plus récent :
sudo snap install core
Installez le package instantané Certbot de l’Electronic Frontier Foundation (EFF) :
sudo snap install certbot --classic
Testez si votre installation certbot fonctionne correctement en l’enregistrant auprès de l’EFF :
sudo certbot register --agree-tos -m ramces@email.invalid
Demandez un certificat SSL pour votre instance en exécutant la commande suivante :
sudo certbot --nginx -d linkding.your-domain-name.here
Testez si votre nouvelle instance est à la fois sécurisée et fonctionnelle en chargeant son adresse sur un navigateur Web.
Création d’un nouvel utilisateur dans Linkding
Connectez-vous à votre nouvelle instance Linkding en utilisant les informations d’identification de superutilisateur que vous avez fournies dans votre fichier « .env ».
Cliquez sur le lien « Paramètres » dans le coin supérieur droit de la page.
Cliquez sur l’onglet « Admin » sur la page des paramètres de Linkding. Cela fera apparaître le panneau d’administrateur de liaison.
Pour ajouter un nouvel utilisateur, cliquez sur le lien « Ajouter » à côté de la ligne Utilisateurs sous la catégorie « Authentification et autorisation ».
Fournissez un nom d’utilisateur et un mot de passe pour votre nouvel utilisateur Linkding, puis cliquez sur « Enregistrer » pour activer votre nouvel utilisateur.
Testez si votre nouvel utilisateur fonctionne correctement en vous y connectant via une autre session de navigateur.
Désactivation d’un utilisateur existant dans Linkding
Pour désactiver un utilisateur existant dans Linkding, accédez au panneau d’administration de votre instance, puis sélectionnez le lien « Utilisateurs » sous la catégorie « Authentification et autorisation ».
Cliquez sur le nom d’utilisateur que vous souhaitez désactiver. Cela chargera le profil de cet utilisateur particulier.
Faites défiler jusqu’à la catégorie « Autorisations », puis décochez la case à côté de l’étiquette « Actif ».
Faites défiler vers le bas de la page, puis cliquez sur « Enregistrer » pour désactiver complètement l’utilisateur.
Questions fréquemment posées
Pouvez-vous installer Linkding sans utiliser Docker ?
Non. Les développeurs de Linkding l’ont conçu pour fonctionner uniquement avec les conteneurs Docker. En effet, le programme comporte un certain nombre de co-dépendances qui doivent être déployées dans un ordre et d’une manière spécifiques pour fonctionner correctement.
Est-il possible d’importer des favoris existants vers Linkding ?
Oui. Il est possible d’importer une liste de favoris provenant d’autres gestionnaires de favoris externes. Par exemple, vous pouvez copier vos favoris de Google Chrome et de Microsoft Edge directement vers Linkding.
Est-il possible de sauvegarder la base de données Linkding en dehors de Docker ?
Oui. Il existe deux manières de sauvegarder une base de données Linkding à partir de son conteneur Docker. Tout d’abord, vous pouvez accéder à la page Paramètres, puis accéder à la catégorie « Exporter » sous l’onglet « Général ». En dessous, cliquez sur le bouton « Télécharger » pour sauvegarder les favoris de l’utilisateur actuel.
Deuxièmement, vous pouvez vous connecter à votre serveur Linkding et copier le fichier « db.sqlite3 » dans le répertoire « ~/linkding/data ». L’avantage de cette approche par rapport à la première est que le fichier « db.sqlite3 » contient l’intégralité de la base de données de signets pour l’ensemble de l’instance.
Crédit image : Lauren Mancke via Unsplash (arrière-plan) Linkding Github (Logo). Toutes les modifications et captures d’écran par Ramces Red.
Laisser un commentaire