124 lines
4.4 KiB
Markdown
124 lines
4.4 KiB
Markdown
---
|
|
title: Wastebin
|
|
created: 2026-06-08
|
|
updated: 2026-06-08
|
|
type: app
|
|
tags: [catalogue, pastebin, self-hosted]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=33, https://github.com/matze/wastebin]
|
|
---
|
|
|
|
# 📋 Wastebin
|
|
|
|
> **Wastebin** est un pastebin minimaliste écrit en Go, conçu pour la vitesse et la sobriété : single binary, démarrage instantané, idéal pour les home-labs légers.
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Métadonnée | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | https://github.com/matze/wastebin |
|
|
| **GitHub** | https://github.com/matze/wastebin |
|
|
| **License** | MIT |
|
|
| **Langage principal** | Go |
|
|
| **Étoiles GitHub** | 795 |
|
|
| **Dernière MAJ** | 2026-06-01 |
|
|
| **Catégorie** | [[cat-pastebin]] |
|
|
|
|
## 📝 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é)
|
|
|
|
```yaml
|
|
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
|
|
|
|
## Pages Liées
|
|
|
|
- [[cat-pastebin|Pastebin]] — Catégorie complète
|
|
- [[app-privatebin]] — Voisin E2E
|
|
- [[app-chiyogami]] — Voisin Go plus moderne
|
|
- [[recettes-docker-compose]] — Templates Docker
|