Retour aux outils
Dev ToolsIntermédiaireOpen sourceAuto-hébergeablev3.6.2

Wastebin

**Wastebin** est un pastebin minimaliste écrit en Go, conçu pour la vitesse et la sobriété : single

MAJ 2026-06-14
Wastebin
Site officiel Code source★ 795

Wastebin est un pastebin écrit en Go par matze, dans la lignée des outils minimalistes (Wastebin = "poubelle" pour les snippets jetables). Le projet mise sur la simplicité radicale : un binaire Go, un serveur HTTP, un store SQLite ou Postgres, et c'est tout. Pas de framework JS, pas d'UI alambiquée,

Description

Wastebin est un pastebin écrit en Go par matze, dans la lignée des outils minimalistes (Wastebin = "poubelle" pour les snippets jetables). Le projet mise sur la simplicité radicale : un binaire Go, un serveur HTTP, un store SQLite ou Postgres, et c'est tout. Pas de framework JS, pas d'UI alambiquée, pas de fonctionnalités exotiques.

L'application supporte les fonctionnalités essentielles : création de pastes avec slug personnalisé ou auto-généré, expiration temporelle, syntax highlighting (via highlight.js servi statiquement), thème clair/sombre, et une page de prévisualisation rapide. Le chiffrement E2E n'est pas proposé par défaut — c'est un pastebin simple pour partager du code publiquement.

C'est le choix idéal pour un home-lab léger, un RPi, ou un NAS Synology/QNAP, où la sobriété logicielle prime. Pour les cas d'usage avec confidentialité forte, on se tournera vers PrivateBin ou Paaster.

Installation

Docker Compose (recommandé)

services:
  wastebin:
    image: ghcr.io/matze/wastebin:latest
    container_name: wastebin
    restart: unless-stopped
    networks:
      - web
      - internal
    environment:
      - WASTEBIN_ADDRESS=0.0.0.0:8088
      - WASTEBIN_DATABASE=sqlite:///data/wastebin.db
      - WASTEBIN_LENGTH=8
      - WASTEBIN_EXPIRATIONS=600,3600,86400,604800,2592000
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.wastebin.rule=Host(`paste.example.com`)"
      - "traefik.http.routers.wastebin.tls.certresolver=letsencrypt"
      - "traefik.http.services.wastebin.loadbalancer.server.port=8088"
    volumes:
      - wastebin-data:/data

networks:
  web:
    external: true
  internal:

volumes:
  wastebin-data:

Installation manuelle (single binary)

  1. git clone https://github.com/matze/wastebin.git
  2. Prérequis : Go 1.22+.
  3. Compiler : go build -o wastebin .
  4. Lancer : ./wastebin (écoute par défaut sur :8088).

Configuration

  • WASTEBIN_ADDRESS : interface d'écoute (par défaut 0.0.0.0:8088).
  • WASTEBIN_DATABASE : URL SQLite ou Postgres.
  • WASTEBIN_LENGTH : longueur des slugs générés (6-10).
  • WASTEBIN_EXPIRATIONS : durées proposées en secondes.
  • La configuration est purement par variables d'environnement, pas de fichier YAML.

Alternatives

Open Source

  • [[app-privatebin]] — PHP, E2E, plus riche, plus lourd.
  • [[app-paaster]] — TypeScript, E2E, UX moderne.
  • [[app-chiyogami]] — Go + E2E, plus jeune.
  • [[app-opengist]] — Go, multi-user, plus complet.
  • [[app-pastefy]] — Java, multi-user, organisation.

Propriétaires (ce que cette app remplace)

  • dpaste.org — simple, pas d'auth, pas d'expiration.
  • ix.io — minimaliste, CLI-friendly.
  • sprunge.us — minimaliste, CLI.
  • hastebin.com — simple, pas de chiffrement.
  • pastebin.com — historique mais UI vieillissante.

Sécurité

  • Pas de chiffrement E2E : ne pas l'utiliser pour des secrets.
  • HTTPS strict : service exposé, ne jamais servir en HTTP.
  • Rate limit : à mettre en place côté reverse proxy.
  • Backups SQLite : copier le fichier DB régulièrement.
  • Updates Go : peu de failles, mais suivre les releases upstream.

Ressources

  • Site officiel : https://github.com/matze/wastebin
  • Code source : https://github.com/matze/wastebin
  • Documentation : https://github.com/matze/wastebin#readme
  • Releases : https://github.com/matze/wastebin/releases
  • Communauté : https://github.com/matze/wastebin/discussions