Self-hosted pastebin powered by Git, open-source alternative to Github Gist. https://opengist.io
  • Go 92.1%
  • TypeScript 6.4%
  • Shell 0.4%
  • Makefile 0.4%
  • Dockerfile 0.4%
  • Other 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Renovate Bot 090cc2980c
All checks were successful
Build image, push and deploy / build-and-push-1 (push) Successful in 3m33s
Build image, push and deploy / build-and-push (push) Successful in 0s
Build image, push and deploy / deploy-1 (push) Successful in 4s
Build image, push and deploy / deploy (push) Successful in 0s
Add renovate.json
2026-07-23 19:36:31 +00:00
.forgejo/workflows fix(ci): update rebase flow 2026-07-22 15:47:27 +00:00
.github ci(fork): add custom workflows 2026-07-22 17:42:06 +03:00
docs fix: return 200 for HEAD / so uptime monitors don't fail 2026-07-23 19:51:24 +03:00
helm/opengist v1.14.0 2026-07-21 13:32:56 +02:00
internal fix: return 200 for HEAD / so uptime monitors don't fail 2026-07-23 19:51:24 +03:00
public Fix actions db (#761) 2026-07-03 17:06:57 +08:00
scripts Add listen to Unix websocket (#484) 2025-08-01 17:34:52 +02:00
templates feat: display version in footer 2026-07-23 18:25:30 +03:00
.dockerignore Better build/watch 2023-04-06 13:55:04 +02:00
.gitattributes Tweaked project structure (#88) 2023-09-03 00:30:57 +02:00
.gitignore Upgrade JS and Go deps versions (#517) 2025-10-07 16:59:37 +02:00
CHANGELOG.md feat: update Dockerfile 2026-07-23 13:46:35 +03:00
config.yml Add log path config (#745) 2026-06-28 03:48:00 +08:00
Dockerfile feat: update Dockerfile 2026-07-23 13:46:35 +03:00
go.mod Update deps (#762) 2026-07-21 03:01:01 +02:00
go.sum Update deps (#762) 2026-07-21 03:01:01 +02:00
LICENSE Initial commit 2023-03-14 16:22:52 +01:00
Makefile build: package prebuilt frontend assets as webdist tarball (#768) 2026-07-21 02:35:59 +02:00
opengist.go Move Git hook logic to Opengist (#213) 2024-04-03 01:56:55 +02:00
package-lock.json Update deps (#762) 2026-07-21 03:01:01 +02:00
package.json Update deps (#762) 2026-07-21 03:01:01 +02:00
README.md feat: update Dockerfile 2026-07-23 13:46:35 +03:00
renovate.json Add renovate.json 2026-07-23 19:36:31 +00:00

Opengist

Opengist

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 similar to GitHub Gist, but open-source and could be self-hosted.

Home PageDocumentationDiscordDemo

GitHub release (latest SemVer) License Go CI Go Report Card Translate

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
  • Download raw files or as a ZIP archive
  • OAuth2 login with GitHub, GitLab, Gitea, and OpenID Connect
  • Restrict or unrestrict snippets visibility to anonymous users
  • Docker support / Helm Chart
  • More...

Quick start

With Docker

Docker images are available for each release :

docker pull ghcr.io/thomiceli/opengist:1.14

It can be used in a docker-compose.yml file :

  1. Create a docker-compose.yml file with the following content
  2. Run docker compose up -d
  3. Opengist is now running on port 6157, you can browse http://localhost:6157
services:
  opengist:
    image: ghcr.io/thomiceli/opengist:1.14
    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"

You can define which user/group should run the container by setting the user key (the container is non-root by default, as UID/GID 1000) :

services:
  opengist:
    # ...
    user: "1001:1001"

See the Docker installation docs for details on file ownership.

Via binary

Download the archive for your system from the release page here, and extract it.

# example for linux amd64
wget https://github.com/thomiceli/opengist/releases/download/v1.14.0/opengist1.14.0-linux-amd64.tar.gz

tar xzvf opengist1.14.0-linux-amd64.tar.gz
cd opengist
chmod +x opengist
./opengist # with or without `--config config.yml`

Opengist is now running on port 6157, you can browse http://localhost:6157

From source

Requirements: Git (2.28+), Go (1.23+), Node.js (16+), Make (optional, but easier)

git clone https://github.com/thomiceli/opengist
cd opengist
make
./opengist

Opengist is now running on port 6157, you can browse http://localhost:6157


To create and run a development environment, see run-development.md.

Documentation

The documentation is available at https://opengist.io/ or in the /docs directory.

License

Opengist is licensed under the AGPL-3.0 license.