Files
wiki/Catalogue-Self-Hosted/apps/app-paaster.md
T
2026-06-09 18:40:21 +02:00

4.6 KiB


title: Paaster 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/WardPearce/paaster]

📋 Paaster

Paaster est un pastebin moderne écrit en TypeScript, avec chiffrement E2E, multi-utilisateurs, et une UX soignée pensée pour un usage quotidien.

📋 Informations Générales

Métadonnée Valeur
Site web https://paaster.io
GitHub https://github.com/WardPearce/paaster
License AGPL-3.0
Langage principal TypeScript
Étoiles GitHub 544
Dernière MAJ 2026-06-03
Catégorie cat-pastebin

📝 Description

Paaster est un pastebin moderne développé par WardPearce, avec une approche "user-friendly" assumée : UI claire en SvelteKit, multi-utilisateurs, et chiffrement end-to-end pour les pastes sensibles. Le projet vise un juste milieu entre la robustesse de PrivateBin et la modernité d'interface de Pastefy.

L'application supporte la création de pastes avec chiffrement côté client (AES-GCM via Web Crypto API), expiration temporelle (burn-after-read, durées configurables), syntax highlighting, et un système de comptes utilisateurs avec authentification OAuth. L'UI propose un mode clair/sombre et une preview rapide avant envoi. Le backend est en FastAPI (Python) ou Node.js, et le client est en SvelteKit.

Le projet est jeune (lancé en 2024) mais déjà solide pour un usage personnel ou en petite équipe. C'est une bonne alternative moderne à PrivateBin pour ceux qui veulent une UX contemporaine sans renoncer au chiffrement E2E.

🚀 Installation

Docker Compose (recommandé)

services:
  paaster:
    image: ghcr.io/wardpearce/paaster:latest
    container_name: paaster
    restart: unless-stopped
    networks:
      - web
      - internal
    environment:
      - PASTER_HOST=0.0.0.0
      - PASTER_PORT=80
      - PASTER_URL=https:...om
      - PASTER_SECRET=***      - PASTER_MONGO_URL=mongodb://mongo:27017
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.paaster.rule=Host(`paste.example.com`)"
      - "traefik.http.routers.paaster.tls.certresolver=letsencrypt"
      - "traefik.http.services.paaster.loadbalancer.server.port=80"
    depends_on:
      - mongo

  mongo:
    image: mongo:7
    restart: unless-stopped
    networks:
      - internal
    volumes:
      - paaster-mongo:/data/db

networks:
  web:
    external: true
  internal:

volumes:
  paaster-mongo:

Installation manuelle

  1. git clone https://github.com/WardPearce/paaster.git
  2. Prérequis : Node.js 20+, MongoDB 6+.
  3. Copier .env.example vers .env et configurer.
  4. Lancer : pnpm install && pnpm build && pnpm start.

⚙️ Configuration

  • PASTER_URL : URL publique servant l'application.
  • PASTER_SECRET : chaîne aléatoire pour les sessions.
  • Configurer OAuth (Google, GitHub, Discord) si besoin d'auth externe.
  • Activer le rate-limiting (middleware FastAPI ou reverse proxy).
  • Brancher un SMTP (optionnel) pour la récupération de mot de passe.

🔄 Alternatives

Open Source

Propriétaires (ce que cette app remplace)

  • pastebin.com — historique mais UI vieillissante.
  • dpaste.org — simple, pas d'auth.
  • ghostbin.org — fermé, signal de la fragilité de ces services.
  • hastebin.com — simple, pas de chiffrement.
  • gist.github.com — privé si compte GH, public sinon.

🔐 Sécurité

  • Chiffrement E2E : AES-GCM côté client, le serveur ne voit jamais le contenu.
  • PASTER_SECRET : chaîne aléatoire longue, à protéger.
  • HTTPS strict : service exposé, ne jamais servir en HTTP.
  • OAuth providers : limiter les providers autorisés en production.
  • Backups MongoDB : exporter régulièrement la collection des pastes.
  • Rate limit : à activer sur l'API de création.

📚 Ressources

Pages Liées