Opengist
Self-hosted code snippets backed by Git repositories
Our verdict
#1 of 3 in Self-hosted paste and snippet sharing · Best for a durable code snippet library
Pros
- Full revision history and diffs for every snippet
- Git clone, pull and push over HTTP or SSH
- Multi-file snippets with search, topics and forks
- Individual accounts, external login and private-instance controls
Cons
- Private visibility restricts readers but doesn't provide zero-knowledge browser encryption
- No burn-after-reading or recipient password controls
- Git is required on the server
Skip if: Anyone sharing sensitive text that the server must never receive in readable form.
Rankings and alternatives
- #1 of 3 Self-hosted paste and snippet sharing Best for a durable code snippet library
- MicroBin #2 For lightweight text, files and short links
- PrivateBin #3 For confidential, temporary pastes
Self-hosted paste and snippet sharing scores
Evaluated Nov 10, 2026 Evidence ↓- Revision history · counts double 5
5/5 means: Every snippet has a browsable history with diffs and works as a Git repository over HTTP or SSH.
Every snippet is a Git repository with full revision history and diffs, and supports clone, pull and push over HTTP or SSH.
- Snippet organization and editing 5
5/5 means: Multi-file snippets with editing, full-text and code search, topics, user collections and forks.
Multiple files, browser and Git editing, code and metadata search, topics, user collections and forks make this a durable snippet workspace.
- Code and document presentation 5
5/5 means: Broad language highlighting, Markdown with diagrams, math, CSV and media, and an embed widget.
Broad syntax highlighting, Markdown with Mermaid, LaTeX, CSV and media, and an embed widget cover both code and rich documents.
- Content confidentiality 1
1/5 means: Contents are stored readable by the server, with no browser-side encryption mode.
Private snippets are access-controlled Git repositories; the sources establish visibility controls but not a browser-side paste-encryption model.
Rests partly on what the sources don't mention, which is a weaker signal than what they say.
- Expiration and read limits 2
2/5 means: One of timed expiry, deletion after reading or password protection.
Timed expiration and archiving support temporary snippets, but not the recipient passwords or burn-after-reading that distinguish the higher lifecycle levels.
- Access control 5
5/5 means: As 4, plus LDAP, two-factor or passkey authentication, anonymous-sharing controls and user administration.
Individual visibility levels, a login-required instance, anonymous-sharing controls, user administration, OAuth/OIDC, LDAP, TOTP and WebAuthn are documented.
- API and command-line workflows 5
5/5 means: An authenticated REST API with scoped tokens, plus Git clone, pull and push over HTTP or SSH.
Git works over HTTP and SSH, while the REST API uses scoped personal access tokens and has an OpenAPI specification.
- Text, files and links · counts half 4
4/5 means: Multiple files including binary files and images, with preview and ZIP or raw download.
Multi-file snippets accept binary files and images and download as ZIP; the product has no built-in URL-shortening role.
- Setup and upkeep · counts half 5
5/5 means: One self-contained executable or container with embedded storage and an integrated administration interface.
One binary or container can use SQLite, the standard container needs no separate database, and the built-in SSH server and admin panel avoid separate administration services.
Evidence and sources
Self-hosted paste and snippet sharing scores
Revision history 2 quotes
-
“Powered by Git Each snippet is a Git repository. Clone and push over HTTP or SSH, or create one with a plain git push. Git CLI & API Manage your snippets straight from the git command line, or via the API. Revisions & diffs Browse the full history of a snippet with diffs between every revision.”
opengist.io · checked -
“Opengist is a self-hosted pastebin powered by Git. All snippets are stored in a Git repository and can be read and/or modified using standard Git commands, or with the web interface. It is similiar to GitHub Gist, but open-source and could be self-hosted. Written in Go, Opengist aims to be fast and easy to deploy. Features Create public, unlisted or private snippets Init / Clone / Pull / Push snippets via Git over HTTP or SSH Syntax highlighting ; markdown & CSV support Search code in snippets ; browse users snippets, likes and forks Add topics to snippets Embed snippets in other websites Revisions history Like / Fork snippets Editor with indentation mode & size ; drag and drop files Download raw files or as a ZIP archive Retrieve snippet data/metadata via a JSON API OAuth2 login with GitHub, GitLab, Gitea, and OpenID Connect Avatars via Gravatar or OAuth2 providers Light/Dark mode Responsive UI Enable or disable signups Restrict or unrestrict snippets visibility to anonymous users Admin panel : delete users/gists; clean database/filesystem by syncing gists run git gc for all repositories SQLite/PostgreSQL/MySQL database Logging Docker support”
opengist.io/docs · checked
Snippet organization and editing 3 quotes
-
“Powered by Git Each snippet is a Git repository. Clone and push over HTTP or SSH, or create one with a plain git push. Git CLI & API Manage your snippets straight from the git command line, or via the API. Revisions & diffs Browse the full history of a snippet with diffs between every revision.”
opengist.io · checked -
“Rich rendering Syntax highlighting for hundreds of languages, plus Markdown with Mermaid, LaTeX, CSV and media files. Files & uploads Multiple files per snippet, including binary files and images, with a download as ZIP. Likes, forks & topics Star and fork snippets, and organize them with topics for easy discovery. Embed & JSON Drop a snippet into any webpage with the embed widget, or fetch it as JSON. Full-text & code search Search across snippets via code or metadata.”
opengist.io · checked -
“Opengist is a self-hosted pastebin powered by Git. All snippets are stored in a Git repository and can be read and/or modified using standard Git commands, or with the web interface. It is similiar to GitHub Gist, but open-source and could be self-hosted. Written in Go, Opengist aims to be fast and easy to deploy. Features Create public, unlisted or private snippets Init / Clone / Pull / Push snippets via Git over HTTP or SSH Syntax highlighting ; markdown & CSV support Search code in snippets ; browse users snippets, likes and forks Add topics to snippets Embed snippets in other websites Revisions history Like / Fork snippets Editor with indentation mode & size ; drag and drop files Download raw files or as a ZIP archive Retrieve snippet data/metadata via a JSON API OAuth2 login with GitHub, GitLab, Gitea, and OpenID Connect Avatars via Gravatar or OAuth2 providers Light/Dark mode Responsive UI Enable or disable signups Restrict or unrestrict snippets visibility to anonymous users Admin panel : delete users/gists; clean database/filesystem by syncing gists run git gc for all repositories SQLite/PostgreSQL/MySQL database Logging Docker support”
opengist.io/docs · checked
Code and document presentation 1 quote
-
“Rich rendering Syntax highlighting for hundreds of languages, plus Markdown with Mermaid, LaTeX, CSV and media files. Files & uploads Multiple files per snippet, including binary files and images, with a download as ZIP. Likes, forks & topics Star and fork snippets, and organize them with topics for easy discovery. Embed & JSON Drop a snippet into any webpage with the embed widget, or fetch it as JSON. Full-text & code search Search across snippets via code or metadata.”
opengist.io · checked
Content confidentiality 3 quotes
-
“Powered by Git Each snippet is a Git repository. Clone and push over HTTP or SSH, or create one with a plain git push. Git CLI & API Manage your snippets straight from the git command line, or via the API. Revisions & diffs Browse the full history of a snippet with diffs between every revision.”
opengist.io · checked -
“Public, unlisted & private Set the visibility of every snippet - public, unlisted, or fully private.”
opengist.io · checked -
“Opengist is a self-hosted pastebin powered by Git. All snippets are stored in a Git repository and can be read and/or modified using standard Git commands, or with the web interface. It is similiar to GitHub Gist, but open-source and could be self-hosted. Written in Go, Opengist aims to be fast and easy to deploy. Features Create public, unlisted or private snippets Init / Clone / Pull / Push snippets via Git over HTTP or SSH Syntax highlighting ; markdown & CSV support Search code in snippets ; browse users snippets, likes and forks Add topics to snippets Embed snippets in other websites Revisions history Like / Fork snippets Editor with indentation mode & size ; drag and drop files Download raw files or as a ZIP archive Retrieve snippet data/metadata via a JSON API OAuth2 login with GitHub, GitLab, Gitea, and OpenID Connect Avatars via Gravatar or OAuth2 providers Light/Dark mode Responsive UI Enable or disable signups Restrict or unrestrict snippets visibility to anonymous users Admin panel : delete users/gists; clean database/filesystem by syncing gists run git gc for all repositories SQLite/PostgreSQL/MySQL database Logging Docker support”
opengist.io/docs · checked
Expiration and read limits 2 quotes
-
“1.14.0 - 2026-07-21 Added Gist expiration + scheduled actions (#726) Archive gists (#739)”
opengist.io/changelog.html · checked -
“Expiring Bins : an option to set an expiration date for each bin, so they automatically get deleted after a certain amount of time.”
mistersupri, GitHub user in an Opengist feature request · github.com/thomiceli/opengist/issues/400 · checked
Access control 3 quotes
-
“OAuth, LDAP & passkeys Log in with GitHub, GitLab, Gitea or OIDC, LDAP, and secure accounts with TOTP or WebAuthn. Admin & instance controls Require login for a private instance, allow anonymous snippets, manage users, and expose Prometheus metrics.”
opengist.io · checked -
“Public, unlisted & private Set the visibility of every snippet - public, unlisted, or fully private.”
opengist.io · checked -
“Opengist is a self-hosted pastebin powered by Git. All snippets are stored in a Git repository and can be read and/or modified using standard Git commands, or with the web interface. It is similiar to GitHub Gist, but open-source and could be self-hosted. Written in Go, Opengist aims to be fast and easy to deploy. Features Create public, unlisted or private snippets Init / Clone / Pull / Push snippets via Git over HTTP or SSH Syntax highlighting ; markdown & CSV support Search code in snippets ; browse users snippets, likes and forks Add topics to snippets Embed snippets in other websites Revisions history Like / Fork snippets Editor with indentation mode & size ; drag and drop files Download raw files or as a ZIP archive Retrieve snippet data/metadata via a JSON API OAuth2 login with GitHub, GitLab, Gitea, and OpenID Connect Avatars via Gravatar or OAuth2 providers Light/Dark mode Responsive UI Enable or disable signups Restrict or unrestrict snippets visibility to anonymous users Admin panel : delete users/gists; clean database/filesystem by syncing gists run git gc for all repositories SQLite/PostgreSQL/MySQL database Logging Docker support”
opengist.io/docs · checked
API and command-line workflows 3 quotes
-
“Powered by Git Each snippet is a Git repository. Clone and push over HTTP or SSH, or create one with a plain git push. Git CLI & API Manage your snippets straight from the git command line, or via the API. Revisions & diffs Browse the full history of a snippet with diffs between every revision.”
opengist.io · checked -
“Opengist exposes a REST API authenticated with Personal Access Tokens, intended for programmatic access to gist and user resources. The base URL for the API is https://opengist.example.com/api/ OpenAPI 3.1 spec is available at openapi.yaml. A running instance also serves the raw spec at GET /api/openapi.yaml.”
opengist.io/docs/api · checked -
“Tokens carry per-resource scopes, each at read or read/write level: Scope Grants gist:read Read gists, including the caller's private and unlisted ones gist:write Create, update, delete and fork gists user:read Read the authenticated user's account user:write Update the authenticated user and toggle likes”
opengist.io/docs/api · checked
Text, files and links 2 quotes
-
“Rich rendering Syntax highlighting for hundreds of languages, plus Markdown with Mermaid, LaTeX, CSV and media files. Files & uploads Multiple files per snippet, including binary files and images, with a download as ZIP. Likes, forks & topics Star and fork snippets, and organize them with topics for easy discovery. Embed & JSON Drop a snippet into any webpage with the embed widget, or fetch it as JSON. Full-text & code search Search across snippets via code or metadata.”
opengist.io · checked -
“Opengist is a self-hosted pastebin powered by Git. All snippets are stored in a Git repository and can be read and/or modified using standard Git commands, or with the web interface. It is similiar to GitHub Gist, but open-source and could be self-hosted. Written in Go, Opengist aims to be fast and easy to deploy. Features Create public, unlisted or private snippets Init / Clone / Pull / Push snippets via Git over HTTP or SSH Syntax highlighting ; markdown & CSV support Search code in snippets ; browse users snippets, likes and forks Add topics to snippets Embed snippets in other websites Revisions history Like / Fork snippets Editor with indentation mode & size ; drag and drop files Download raw files or as a ZIP archive Retrieve snippet data/metadata via a JSON API OAuth2 login with GitHub, GitLab, Gitea, and OpenID Connect Avatars via Gravatar or OAuth2 providers Light/Dark mode Responsive UI Enable or disable signups Restrict or unrestrict snippets visibility to anonymous users Admin panel : delete users/gists; clean database/filesystem by syncing gists run git gc for all repositories SQLite/PostgreSQL/MySQL database Logging Docker support”
opengist.io/docs · checked
Setup and upkeep 4 quotes
-
“A single binary, Docker image or K8s deployment, backed by SQLite, PostgreSQL or MySQL.”
opengist.io · checked -
“services: opengist: image: ghcr.io/thomiceli/opengist:1 container_name: opengist restart: unless-stopped ports: - "6157:6157" # HTTP port - "2222:2222" # SSH port, can be removed if you don't use SSH volumes: - "$HOME/.opengist:/opengist"”
opengist.io/docs/installation/docker.html · checked -
“builtin (default): Opengist runs its own embedded SSH server, by default on port 2222. Self-contained, works in Docker and rootless setups, and needs no extra configuration. This is recommended for most installs.”
opengist.io/docs/administration/openssh.html · checked -
“Opengist is a self-hosted pastebin powered by Git. All snippets are stored in a Git repository and can be read and/or modified using standard Git commands, or with the web interface. It is similiar to GitHub Gist, but open-source and could be self-hosted. Written in Go, Opengist aims to be fast and easy to deploy. Features Create public, unlisted or private snippets Init / Clone / Pull / Push snippets via Git over HTTP or SSH Syntax highlighting ; markdown & CSV support Search code in snippets ; browse users snippets, likes and forks Add topics to snippets Embed snippets in other websites Revisions history Like / Fork snippets Editor with indentation mode & size ; drag and drop files Download raw files or as a ZIP archive Retrieve snippet data/metadata via a JSON API OAuth2 login with GitHub, GitLab, Gitea, and OpenID Connect Avatars via Gravatar or OAuth2 providers Light/Dark mode Responsive UI Enable or disable signups Restrict or unrestrict snippets visibility to anonymous users Admin panel : delete users/gists; clean database/filesystem by syncing gists run git gc for all repositories SQLite/PostgreSQL/MySQL database Logging Docker support”
opengist.io/docs · checked
Facts
License 1 quote
-
“Opengist is licensed under the AGPL-3.0 license.”
github.com/thomiceli/opengist · checked
Runs on 1 quote
-
“A single binary, Docker image or K8s deployment, backed by SQLite, PostgreSQL or MySQL.”
opengist.io · checked
Needs 1 quote
-
“Git is obviously required to run Opengist, as it's the main feature of the app. Version 2.28 or later is recommended as the app has not been tested with older Git versions and some features would not work.”
opengist.io/docs · checked
