Initial vault setup
This commit is contained in:
@@ -0,0 +1,135 @@
|
||||
---
|
||||
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
|
||||
Reference in New Issue
Block a user