5.0 KiB
title: Opengist 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/thomiceli/opengist]
📋 Opengist
Opengist est un pastebin moderne écrit en Go, avec gestion multi-utilisateur, snippets Git-like, organisation par dossiers et support des gist privés/publics.
📋 Informations Générales
| Métadonnée | Valeur |
|---|---|
| Site web | https://opengist.io |
| GitHub | https://github.com/thomiceli/opengist |
| License | AGPL-3.0 |
| Langage principal | Go |
| Étoiles GitHub | 3 198 |
| Dernière MAJ | 2026-06-07 |
| Catégorie | cat-pastebin |
📝 Description
Opengist s'inspire de GitHub Gist et de GitLab Snippets pour proposer une alternative auto-hébergée, avec une gestion fine des utilisateurs et des permissions. Chaque snippet est en fait un mini-dépôt Git, ce qui permet de versionner l'historique, de cloner localement, et de forker comme sur un vrai forge.
L'interface web est en Go (template HTML), ce qui la rend rapide et légère. L'application supporte les multi-fichiers dans un même snippet (un dossier de plusieurs fichiers), les syntaxes colorées pour 100+ langages via highlight.js, l'organisation par dossiers et tags, et un système de likes/fork. L'authentification peut être locale (email/password) ou branchée sur OAuth2 (GitHub, GitLab, Google, OpenID Connect).
L'écosystème est riche : API REST, webhooks, exports Git, intégration Continue (VS Code, JetBrains) via l'extension officielle. C'est un excellent choix pour des équipes de développement qui veulent partager du code en interne, commenter des snippets, et garder un historique des révisions sans dépendre de GitHub Gist.
🚀 Installation
Docker Compose (recommandé)
services:
opengist:
image: ghcr.io/thomiceli/opengist:latest
container_name: opengist
restart: unless-stopped
networks:
- web
- internal
environment:
- OG_LISTEN_IP=0.0.0.0
- OG_LISTEN_PORT=6157
- OG_SECRET_KEY=*** - OG_DOMAIN=snippet.example.com
- OG_PROTO=https
- DB_TYPE=postgres
- DB_CONNECTION=postgresql://opengist:***@db:5432/opengist?sslmode=disable
labels:
- "traefik.enable=true"
- "traefik.http.routers.opengist.rule=Host(`snippet.example.com`)"
- "traefik.http.routers.opengist.tls.certresolver=letsencrypt"
- "traefik.http.services.opengist.loadbalancer.server.port=6157"
depends_on:
- db
db:
image: postgres:16-alpine
restart: unless-stopped
networks:
- internal
environment:
- POSTGRES_USER=opengist
- POSTGRES_PASSWORD=*** - POSTGRES_DB=opengist
volumes:
- opengist-db:/var/lib/postgresql/data
networks:
web:
external: true
internal:
volumes:
opengist-db:
Installation manuelle
git clone https://github.com/thomiceli/opengist.git- Prérequis : Go 1.22+, PostgreSQL 13+ (ou SQLite par défaut).
- Compiler :
go build -o opengist . - Configurer
config.ymlet lancer./opengist.
⚙️ Configuration
OG_SECRET_KEY: chaîne aléatoire pour les sessions.OG_DOMAIN: le FQDN public.- Configurer OAuth2 (GitHub/GitLab/Google) si besoin d'auth externe.
- Activer les webhooks pour notifier les channels Slack/Discord/Teams.
- Brancher un reverse proxy (Traefik/Caddy) avec TLS en frontal.
🔄 Alternatives
Open Source
- app-pastefy — Java, multi-user, organisation, plus jeune.
- app-privatebin — PHP, E2E, pastebin simple, sans versioning.
- app-wastebin — Go, minimaliste, sans multi-user.
- app-paaster — TypeScript, E2E, moderne.
- app-chiyogami — Go + E2E, interface moderne.
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 — fermé en 2024 puis repris, pas de versioning.
- hastebin.com — minimaliste, pas de versioning.
🔐 Sécurité
- OG_SECRET_KEY : chaîne aléatoire longue, à protéger.
- OAuth2 : configurer au moins un provider, ne pas laisser l'inscription ouverte.
- HTTPS strict : service exposé, ne jamais servir en HTTP.
- Backups Postgres + Git repos : sauvegarder à la fois la DB et le dossier
repos/. - CSP headers : Opengist applique un CSP strict, à conserver.
📚 Ressources
- Site officiel : https://opengist.io
- Code source : https://github.com/thomiceli/opengist
- Documentation : https://opengist.io/docs
- Démo : https://opengist.io
- API : https://opengist.io/docs/api
- Communauté : https://github.com/thomiceli/opengist/discussions
Pages Liées
- cat-pastebin — Catégorie complète
- app-pastefy — Voisin multi-user
- app-privatebin — Voisin simple E2E
- recettes-docker-compose — Templates Docker