Installer LinkAce avec Docker
LinkAce

Installer LinkAce avec Docker

Table des matières

GitHub - Kovah/LinkAce: LinkAce is a self-hosted archive to collect links of your favorite websites.
LinkAce is a self-hosted archive to collect links of your favorite websites. - Kovah/LinkAce
Merci à Metakw pour l'idée du tutoriel! 🤝

Je vous proposais déjà une application géniale, LinkWarden, comme toujours, ou presque, il existe des alternatives.

Aujourd'hui nous allons parler de LinkAce! Mais que fait LinkAce finalement?

LinkAce est une archive auto-hébergée pour collecter les liens de vos sites Web préférés. Enregistrez des articles pour les lire plus tard, des outils pour les utiliser dans votre prochain projet ou du contenu historique pour l'archiver sur le long terme. LinkAce est livré avec de nombreuses fonctionnalités tout en gardant une interface propre et minimale.
Il fournit une archive à long terme pour stocker des liens vers des sites Web, des fichiers multimédias ou tout autre élément doté d'une URL valide. L'utilisateur peut classer les liens ajoutés pour pouvoir les retrouver plus tard et partager des listes de liens avec ses amis, sa famille ou ses collègues. Cependant, LinkAce ne devrait pas fournir de solution pour synchroniser les favoris de votre navigateur.


⚡Caractéristiques

  • Sauvegarde des liens grâce à la génération automatique de titres et de descriptions.
  • La surveillance automatisée des liens vous informe lorsqu'un lien devient indisponible ou a été déplacé.
  • Sauvegardes automatiques des sites sauvegardés via Internet Archive.
  • Organisation des signets à l'aide de listes et de balises.
  • Une API REST complète permet d'accéder à toutes les fonctionnalités de LinkAce à partir d'autres applications et services.
  • LinkAce est également disponible sur Zapier et s'intègre à plus de 2500 applications.
  • LinkAce est livré avec un thème clair et un thème foncé, qui peuvent être activés ou changés automatiquement.
  • Un bookmarklet pour sauvegarder rapidement des liens depuis n'importe quel navigateur.
  • Les liens peuvent être privés ou publics, de sorte que des amis ou des inconnus peuvent voir votre collection.
  • Les liens privés et publics sont accessibles via les flux RSS.
  • Ajout de notes aux liens pour y ajouter des réflexions ou d'autres informations pertinentes.
  • Une recherche avancée comprenant différents filtres et ordres.
  • Importation et exportation de signets à partir de HTML.
  • Prise en charge des sauvegardes complètes de la base de données et de l'application vers n'importe quel espace de stockage AWS S3.

L'installation

  1. Créez votre docker-compose.yml dans le dossier ou vous comptez installer LinkAce:
sudo nano docker-compose.yml
  1. Collez ça dedans en prenant soin d'adapter les ports et les volumes suivant votre configuration:
version: "3"

services:

  # --- MariaDB
  db:
    image: docker.io/library/mariadb:11.2
    restart: unless-stopped
    command: mariadbd --character-set-server=utf8mb4 --collation-server=utf8mb4_bin
    environment:
      - MYSQL_ROOT_PASSWORD=${DB_PASSWORD}
      - MYSQL_USER=${DB_USERNAME}
      - MYSQL_PASSWORD=${DB_PASSWORD}
      - MYSQL_DATABASE=${DB_DATABASE}
    volumes:
      - db:/var/lib/mysql

  # --- LinkAce Image with PHP and nginx
  app:
    image: docker.io/linkace/linkace:simple
    restart: unless-stopped
    depends_on:
      - db
    ports:
      - "0.0.0.0:480:80"
      #- "0.0.0.0:443:443"
    volumes:
      - ./.env:/app/.env
      - ./backups:/app/storage/app/backups
      - linkace_logs:/app/storage/logs
      # Remove the hash of the following line if you want to use HTTPS for this container
      #- ./nginx-ssl.conf:/etc/nginx/conf.d/default.conf:ro
      #- /path/to/your/ssl/certificates:/certs:ro

volumes:
  linkace_logs:
  db:
    driver: local
  1. On va créer le fichier .env:
sudo nano .env
  1. On va coller ça dedans:
## Basic app configuration
COMPOSE_PROJECT_NAME=linkace
# The app key is generated later, please leave it like that
APP_KEY=base64:waQy/ErK5iCUMQHp+eUCbPGTXSBcoYWg9qKY0uvpa5A=

## Configuration of the database connection
## Attention: Those settings are configured during the web setup, please do not modify them now.
# Set the database driver (mysql, pgsql, sqlsrv, sqlite)
DB_CONNECTION=mysql
# Set the host of your database here
DB_HOST=db
# Set the port of your database here
DB_PORT=3306
# Set the database name here
DB_DATABASE=linkace
# Set both username and password of the user accessing the database
DB_USERNAME=linkace
# Wrap your password into quotes (") if it contains special characters
DB_PASSWORD=ChangeThisToASecurePassword!

## Redis cache configuration
# Set the Redis connection here if you want to use it
REDIS_HOST=redis
REDIS_PASSWORD=ChangeThisToASecurePassword!
REDIS_PORT=6379

Veillez à modifier ces deux points:

  • DB_PASSWORD=ChangeThisToASecurePassword! => Remplacez ChangeThisToASecurePassword! par un mot de passe fort.
  • REDIS_PASSWORD=ChangeThisToASecurePassword! => Remplacez ChangeThisToASecurePassword! par un mot de passe fort.
  1. Pour s'assurer que le fichier .env soit bien inscriptible on va modifier les permissions. Il faut effectuer cette commande dans le dossier ou vous avez votre fichier .env:
sudo chmod 666 .env
  1. On va déployer l'application:
docker-compose up -d

ou avec docker-compose V2:

docker compose up -d
  1. Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 480 par défaut:
http://ip:480/

ou votre domaine:

https://mondomaine.com

Terminer l'installation

Lors du premier lancement de l'application, il va falloir effectuer quelques petites opérations.

Cliquez sur Check Requirements:

En principe tout devrait-être ✅, si c'est le cas, cliquez sur Continue:

Dans Database Password, indiquez le mot de passe que vous avez choisi dans le .env, cliquez sur Configure Database:

Veillez à compléter les informations concernant votre compte administrateur:

  • Enter your name => Choisissez un pseudo, un nom.
  • Enter your email address => Entrez une adresse e-mail.
  • Enter a strong password => Choisissez un mot de passe fort.
  • Confirm your password => Confirmez votre mot de passe.

Cliquez sur Create account quand c'est terminé.

Maintenant il est temps d'aller sur le tableau de bord, cliquez sur Go to the Dashboard:

Et vous voilà sur le tableau de bord:

⚠️ Remettre le fichier .env en lecture seule

Maintenant que c'est installé, on va remettre le fichier .env en lecture seule:

sudo chmod 444 .env

Activer le mode sombre

En haut à droite, cliquez sur votre pseudo et ensuite sur Settings:

Descendez dans le fond de la page et choisissez soit Permanent ou Automatically si votre système est en mode sombre, à vous de voir:

On sauve les changements en cliquant sur Save Settings:

Voici le résultat:


Mettre LinkAce en français

En haut à droite, cliquez sur votre pseudo et ensuite sur Settings:

Descendez jusqu'à User Settings:

  • Language => Choisissez la langue de votre choix.
  • Date Format => J'ai remis la date dans mon sens de lecture.
  • Timezone => Choisissez votre Timezone.

Cliquez sur Save Settings en bas de page:

Aaaah, en français!


Importer vos liens

Si vous souhaitez importer vos liens d'un autre navigateur, cliquez en haut à droite sur votre pseudo et ensuite sur Importer:

Cliquez sur Parcourir... et indiquez où se trouve le fichier .html de vos liens sauvegardés:

Cliquez sur Démarrer l'importation:

L'importation commence:

Suivant le nombres de favoris, cela peut-être plus ou moins long.


Ajouter un lien manuellement

Cliquez sur Ajouter Lien:

Complétez les informations:

  • URL => Entrez l'URL du site.
  • Titre => Donnez un titre à votre site.
  • Description => Indiquez une description.
  • Listes => Si vous avez créé une liste, choisissez-là.
  • Étiquettes => Si vous avez créé des étiquettes, choisissez celle qui convient.
  • Est privé => Si vous avez décidé d'ouvrir le service LinkAce, choisissez si le lien sera visible par vos visiteurs ou non.

Activer la double authentification

En haut à droite, cliquez sur votre pseudo et ensuite sur Settings:

upload in progress, 0

Descendez jusqu'à Authentification Double Facteur:

Confirmez cette action en indiquant votre mot de passe, cliquez sur Confirmer l'action pour valider:

Redescendez (petit bug je pense) jusqu'à la partie Authentification Double Facteur et scannez le QR code:

N'oubliez pas de copier vos codes de récupération dans un endroit sécurisé:


Partage de liens

Vous avez la possibilité de partager vos liens via des réseaux sociaux ou applications:

Cochez les éléments qui vous intéressent:

Cliquez sur Enregistrer Paramètres pour valider vos choix.

Maintenant vous avez de nouvelles options dans la fiche de votre lien:


Paramètres système

Cliquez en haut à droite sur votre pseudo et ensuite sur Paramètres Système:

Vous aurez quelques options de personnalisation:

  • Titre Page => Donnez un titre qui sera visible dans l'onglet du navigateur.
  • Activer Accès Invité => Choisissez si vous voulez laisser un accès invité ou non.
  • Contenu de l'en-tête personnalisé => Ajoutez du code HTML pour personnaliser l'en-tête, si vous le souhaitez

Cliquez sur Enregistrer Paramètres quand c'est terminé.

Ce qui donne:

Et sur la page d'accueil:


Sauvegarde Wayback machine

Personnellement je ne suis pas fan que mes liens, privés ou non, se retrouvent sur un autre site, aussi bien intentionné qu'il soit.

Cliquez sur votre pseudo en haut à droite ensuite sur Paramètres...

...et descendez jusque Sauvegardes Wayback Machine:

Réglez comme vous le souhaitez et validez vos paramètres en cliquant sur Enregistrer Paramètres:


Ajouter rapidement des liens à partir des sites que vous visitez

Vous conviendrez qu'il n'est pas pratique de devoir ouvrir à chaque fois LinkAce si vous désirez ajouter un site.

Pas de problème, LinkAce y a pensé!

Cliquez sur votre pseudo en haut à droite ensuite sur Paramètres:

Glissez/déposez Bookmarklet vers vos signets dans votre navigateur:

Ce qui donne:

Maintenant cliquez sur Enregistrer et vous verrez cet onglet dans votre navigateur:

Lors d'une visite sur un site, cliquez juste sur cet onglet, une fenêtre va apparaître:

C'est terminé.

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.