Installer Plik avec Docker
Plik

Installer Plik avec Docker

Table des matières

GitHub - root-gg/plik: Plik is a temporary file upload system (Wetransfer like) in Go.
Plik is a temporary file upload system (Wetransfer like) in Go. - root-gg/plik

Aujourd'hui on va parler de Plik, une application de partage de fichiers, franchement bien foutue et qui a une petite particularité, c'est la fonction streaming d'une vidéo ou d'un fichier audio, la particularité est que le fichier n'ira pas sur le serveur, le stream se fera directement de l'expéditeur au receveur, par un lien! Le lien n'est valable qu'une seule fois.

Le partage par lot est bien pensé, avec téléchargement individuel, en .zip, affichage direct de l'image, QR Code,...

Dans le tutoriel j'inclus la procédure pour changer le background car personnellement je n'aime pas beaucoup celui d'origine. Question de goût.

Encore une chose que j'aime particulièrement, les fichiers sont chiffrés.


⚡Caractéristiques

  • Interface utilisateur Web facile à utiliser.
  • OneShot : Les fichiers sont détruits après le premier téléchargement.
  • Stream : les fichiers sont diffusés depuis l'envoyeur vers le receveur (rien n'est stocké côté serveur).
  • Amovible : Donnez la possibilité à l'uploader de supprimer des fichiers à tout moment.
  • TTL : Date d'expiration personnalisée.
  • Mot de passe : Protéger le téléchargement avec login/mot de passe (Auth Basic).
  • Commentaires : Ajouter un message personnalisé (au format Markdown).
  • Authentification des utilisateurs : Local / Google / OVH.
  • Restriction de téléchargement : IP source / Jeton.
  • CLI d'administrateur et interface utilisateur Web.
  • Chiffrement côté serveur (avec backend de données S3).
  • ShareX Uploader : Directement intégré à ShareX.
  • Filelink for Plik : Thunderbird Addon pour télécharger des pièces jointes sur Plik.

L'installation

  1. On va, pour commencer, préparer les dossiers. Rendez-vous à la racine du dossier où vous mettez toutes vos applications. Créons le dossier plik:
sudo mkdir plik
  1. Par précaution, on va passer un petit coup de chown sur le dossier plik afin que votre utilisateur puisse écrire dedans, c'est surtout utile pour la personnalisation du background de l'application. Si vous êtes toujours connecté avec votre compte root (ce qui n'est pas l'idéal) vous aurez évidemment tous les droits pour écrire dans ce dossier.
  2. Mais avant ça il faut connaître l'ID de votre utilisateur. Pour connaître l'ID de votre utilisateur faites cette commande:
id

Ce qui retourne:

  1. Donc nous savons que l'ID est 1000 dans mon cas. Tapez cette commande et adaptez suivant votre ID:
chown 1000:1000 plik
  1. On va dans le dossier:
cd plik
  1. On va télécharger le fichier config:
sudo wget https://raw.githubusercontent.com/root-gg/plik/master/server/plikd.cfg
  1. Et un autre coup de chown sur le fichier config. Mais cette fois, après avoir fait la commande ID, repérez l'ID du groupe Docker:
  1. Faites cette commande avec votre ID:
chown 1001:1001 plikd.cfg
  1. On va créer le dossier data:
sudo mkdir data
  1. Un petit coup de chown, avec l'ID du groupe Docker toujours:
chown 1001:1001 data
  1. On va un peu modifier le fichier config, plikd.conf:
sudo nano plikd.cong

Un point à régler, l'authentification => FeatureAuthentication = "enabled"

  • enabled => Activée.
  • disabled -> Pas d'authentification.
  • forced -> Pas d'upload anonyme.
  • default -> Activée.

Personnellement je l'ai réglé sur enabled pour gérer la page administration.

N'hésitez pas à modifier les autres paramètres.

  1. Créez votre docker-compose.yml dans le dossier ou vous comptez installer Monica:
sudo nano docker-compose.yml
  1. Collez ça dedans en prenant soin d'adapter les ports et les volumes suivant votre configuration:
version: "2"
services:
  plik:
    image: rootgg/plik:latest
    container_name: plik
    volumes:
      - ./background.jpg:/home/plik/webapp/dist/img/background.jpg
      - ./plikd.cfg:/home/plik/server/plikd.cfg
      - ./data:/data
    ports:
      - 8512:8080   
    restart: "unless-stopped"

💡 Si vous n'avez pas envie/besoin de changer le background, donc "le fond d'écran" de l'application, vous pouvez supprimer (ou commentez la ligne, c'est à dire en mettant une # devant la ligne):

- ./background.jpg:/home/plik/webapp/dist/img/background.jpg
💡
Si vous voulez changer le background d'origine, c'est le moment de placer votre image qui doit obligatoirement se nommer background.jpg à la racine du dossier Plik.
  1. On installe 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, 8512 par défaut:
http://ip:8512/

ou votre domaine:

https://mondomaine.com

Création du compte administrateur

Que ferions-nous sans ce précieux sésame?

Lancez cette commande afin que l'on puisse entrer dans le container:

docker exec -it plik sh

Cette commande va créer le compte administrateur goldorak, je vous invite bien entendu à changer goldorak par le nom d'utilisateur souhaité:

./plikd --config ./plikd.cfg user create --login goldorak --name Admin --admin

Ce qui retourne:

Le mot de passe est donc nTlfv9NmRLPDtSu6xc8Ffbw62SKU633O, vous aurez l'occasion de le changer dans l'interface web de Plik.


Se connecter à la page d'administration

Cliquez en haut à droite sur Authentication:

Entrez les informations du compte administrateur:

Cliquez sur Login pour vous connecter. Vous pouvez à présent Cliquer sur Admin et gérer Plik:


Gestion des uploads

Toujours dans la partie Admin, cliquez sur Uploads:

Vous aurez le loisir de supprimer des uploads, ou au, contraire de vous rendre sur la page de ceux-ci ou encore d'afficher directement une image ou lire une vidéo, un fichier audio.


Créer un utilisateur

Dans la partie Admin, cliquez sur Create User:

Une fenêtre va apparaître:

Remplissez les informations habituelles:

  • Login => Définissez un nom d'utilisateur servant à se connecter.
  • Name => Définissez un nom.
  • Email => Définissez une adresse mail.
  • Password => Choisissez un mot de passe ou générez-le avec le bouton.
  • Max File Size => Taille maximale des fichiers.
  • Max User Size => Taille de l'espace maximum pour l'utilisateur.
  • Max TTL => Définissez la durée de vie des fichiers de cet utilisateur.
  • Admin => Cochez cette case si vous voulez créer un compte admin.

Cliquez sur ok quand vous avez terminé.


Gérer les utilisateurs

Encore et toujours dans la partie Admin, cliquez sur Users:

Options disponibles:

  • Impersonate => On peut résumer ça par "Se faire passer pour". Cela permet de voir avec les "yeux" du compte, ce qu'il peut faire, les options disponibles pour lui.
  • Edit => Permet d'éditer un compte.
  • Delete => Permet de supprimer un compte.

Options pour les uploads

Vous avez un menu avec différentes options:

  • Destruct after the first download? => Le fichier sera détruit après 1 seul et unique téléchargement.
  • Streaming? => Permet de donner un lien de streaming. Nous y reviendrons plus bas.
  • Removable? => Permet à l'utilisateur qui reçoit le lien de détruire le fichier.
  • Password? => Permet de mettre un mot de passe sur le télécharger.
  • Comments? => Ajouter un commentaire, un titre, une description,...
  • Files will be automcatically removed in => Permet de définir la pérennité du fichier, soit en jours, heures ou encore minutes.
  • Add files => Permet d'ajouter le fichier à envoyer.
  • Add text => Permet d'ajouter un texte:

L'option streaming

Pour activer la fonction streaming, cochez l'option dans le menu, ajouter le fichier à streamer et cliquez sur Upload:

Cela va générer un lien...

...qu'il faudra partager, la personne peut lire le fichier soit directement dans le navigateur (si le format la permet, comme toujours) ou via VLC.

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

#ouvrir un lien dans une nouvelle fenêtre