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

136 lines
5.0 KiB
Markdown

---
title: Pastefy
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/interaapps/pastefy]
---
# 📋 Pastefy
> **Pastefy** est un pastebin Java moderne et complet, avec multi-utilisateurs, organisation par dossiers, syntax highlighting avancé et API REST.
## 📋 Informations Générales
| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | https://github.com/interaapps/pastefy |
| **GitHub** | https://github.com/interaapps/pastefy |
| **License** | AGPL-3.0 |
| **Langage principal** | Java |
| **Étoiles GitHub** | 432 |
| **Dernière MAJ** | 2026-06-01 |
| **Catégorie** | [[cat-pastebin]] |
## 📝 Description
Pastefy est un pastebin moderne développé par interaapps, écrit en Java (Spring Boot) côté backend et Vue.js côté frontend. Le projet se distingue par sa gestion **multi-utilisateurs** avec organisation par dossiers, ce qui le rapproche davantage d'un **gestionnaire de snippets d'équipe** que d'un simple pastebin jetable.
L'application supporte la création de pastes avec syntax highlighting pour 100+ langages, organisation par dossiers et tags, partage public/privé, expiration temporelle, paste multi-fichiers (similaire à un mini-projet), fork de pastes publics, et un système de likes. L'authentification peut être locale (email/password) ou OAuth (Google, GitHub, Discord). L'API REST est complète et bien documentée.
L'écosystème comprend des intégrations navigateur (extension Chrome/Firefox) et une CLI officielle. C'est un bon choix pour les **équipes de développement** qui veulent un outil de partage de code auto-hébergé, structuré et collaboratif, dans un stack Java éprouvé.
## 🚀 Installation
### Docker Compose (recommandé)
```yaml
services:
pastefy:
image: interaapps/pastefy:latest
container_name: pastefy
restart: unless-stopped
networks:
- web
- internal
environment:
- PASTEFY_BASE_URL=https:...om
- PASTEFY_FRONTEND_URL=https:...om
- PASTEFY_DATABASE_URL=jdbc:postgresql://db:5432/pastefy
- PASTEFY_DATABASE_USERNAME=pastefy
- PASTEFY_DATABASE_PASSWORD=*** - PASTEFY_SECRET=*** - PASTEFY_MAIL_HOST=smtp.example.com
labels:
- "traefik.enable=true"
- "traefik.http.routers.pastefy.rule=Host(`paste.example.com`)"
- "traefik.http.routers.pastefy.tls.certresolver=letsencrypt"
- "traefik.http.services.pastefy.loadbalancer.server.port=8080"
depends_on:
- db
db:
image: postgres:16-alpine
restart: unless-stopped
networks:
- internal
environment:
- POSTGRES_USER=pastefy
- POSTGRES_PASSWORD=*** - POSTGRES_DB=pastefy
volumes:
- pastefy-db:/var/lib/postgresql/data
networks:
web:
external: true
internal:
volumes:
pastefy-db:
```
### Installation manuelle
1. `git clone https://github.com/interaapps/pastefy.git`
2. Prérequis : Java 21+, Maven, PostgreSQL 13+.
3. Compiler : `mvn clean package`
4. Configurer `application.yml` puis lancer le JAR.
## ⚙️ Configuration
- `PASTEFY_SECRET` : chaîne aléatoire pour les sessions.
- `PASTEFY_BASE_URL` : URL publique du backend.
- `PASTEFY_FRONTEND_URL` : URL publique du frontend.
- Configurer OAuth (Google, GitHub, Discord) si besoin d'auth externe.
- Brancher un SMTP pour les notifications et récupérations de mot de passe.
## 🔄 Alternatives
### Open Source
- [[app-opengist]] — Go, multi-user, snippets Git-like.
- [[app-privatebin]] — PHP, E2E, plus minimaliste.
- [[app-paaster]] — TypeScript, E2E, multi-user, plus jeune.
- [[app-chiyogami]] — Go + E2E, interface moderne.
- [[app-wastebin]] — Go, minimaliste, sans multi-user.
### Propriétaires (ce que cette app remplace)
- **gist.github.com** — snippets GitHub, privé si compte GH, public sinon.
- **gitlab.com/snippets** — snippets GitLab, intégré au forge.
- **pastebin.com** — historique, UI vieillissante.
- **hastebin.com** — simple, pas de chiffrement.
## 🔐 Sécurité
- **PASTEFY_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 Postgres** : la base de pastes et d'utilisateurs doit être sauvegardée.
- **Rate limit** : à activer sur l'API pour bloquer les abus.
- **Updates Java** : Spring Boot 3+ doit être maintenu à jour.
## 📚 Ressources
- Site officiel : https://github.com/interaapps/pastefy
- Code source : https://github.com/interaapps/pastefy
- Documentation : https://github.com/interaapps/pastefy#readme
- API : https://github.com/interaapps/pastefy/blob/master/docs/api.md
- Communauté : https://github.com/interaapps/pastefy/discussions
## Pages Liées
- [[cat-pastebin|Pastebin]] — Catégorie complète
- [[app-opengist]] — Voisin multi-user
- [[app-paaster]] — Voisin moderne E2E
- [[recettes-docker-compose]] — Templates Docker