Installer wastebin avec Docker
wastebin

Installer wastebin avec Docker

Table des matières

GitHub - matze/wastebin: wastebin is a pastebin 📝
wastebin is a pastebin 📝. Contribute to matze/wastebin development by creating an account on GitHub.

Si vous cherchez une application de pastebin très simple dans son installation et fonctionnement, alors la suite de l’article pourrait vous intéresser.

Aujourd'hui nous allons parler de wastebin! Une application qui propose + de 100 formats (Markdown, YAML, C++,...) avec évidemment quelques options élémentaires comme la possibilité de mettre un mot de passe et une limite de lecture ou de temps.

💡
Pour une question de sécurité, le HTTPS est chaudement recommandé!

⚡Caractéristiques

  • Backend axum et sqlite3 stockant les données compressées.
  • Binaire unique avec une faible empreinte mémoire.
  • Envoyer par glisser-déposer.
  • Suppression après expiration, lecture ou par les propriétaires.
  • Mode clair/foncé en fonction des paramètres du navigateur.
  • Numéros de ligne surlignables.
  • Hachage argon2 et cryptage ChaCha20Poly1305.

L'installation

  1. Créez votre docker-compose.yml dans le dossier ou vous comptez installer wastebin:
sudo nano docker-compose.yml
  1. Collez ça dedans en prenant soin d'adapter le port et le volume suivant votre configuration:
version: '3.3'
services:
  wastebin:
    environment:
      - WASTEBIN_DATABASE_PATH=/data/state.db
    ports:
      - "8988:8088"
    volumes:
      - './data:/data'
    image: 'quxfoo/wastebin:latest'
  1. On va créer le dossier data:
sudo mkdir data
  1. Comme la doc le prévoit, un petit coup de chown sur le dossier data:
chown 10001:10001 data/
  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, 8988 par défaut:
http://ip:8988/

ou votre domaine:

https://mondomaine.com

Créer un pastebin

Imaginons que je veuille partager un YAML avec une connaissance. Celui d'un serveur Minecraft, soyons fou!

Rendez-vous sur la page, tapez (1) dans la recherche yaml et confirmez le format en cliquant sur YAML (2):

Collez votre texte:

Je voudrais que mon message expire après une lecture (1) et qu'il soit protégé par un mot de passe (2). Qui est test, d'ailleurs pour l'exemple.

Quand tout est configuré, cliquez sur Paste.

Du côté de la personne qui reçoit votre lien, elle verra donc cette fenêtre avec le mot de passe à indiquer pour déverrouiller la note, cliquons sur Decrypt:

Maintenant le message est lisible et en plus vous avez 3 options en haut à droite.

  • delete => Permet d'effacer le message directement.
  • download => Téléchargez la note dans le format originellement choisi.
  • raw => Permet d'avoir une version RAW du texte.

Si on fait F5, on peut constater que le message a bien été effacé après une lecture:

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.