--- 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Ă©) ```yaml 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 1. `git clone https://github.com/thomiceli/opengist.git` 2. PrĂ©requis : Go 1.22+, PostgreSQL 13+ (ou SQLite par dĂ©faut). 3. Compiler : `go build -o opengist .` 4. Configurer `config.yml` et 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|Pastebin]] — CatĂ©gorie complĂšte - [[app-pastefy]] — Voisin multi-user - [[app-privatebin]] — Voisin simple E2E - [[recettes-docker-compose]] — Templates Docker