Self-hosted pastebin powered by Git, open-source alternative to Github Gist.
Go to file
Thomas Miceli d518a44d32
Create/change account password (#156)
2023-11-20 18:03:28 +01:00
.github/workflows Add binaries cross compile in CD (#113) 2023-09-26 15:13:58 +02:00
docker config.yml with Docker (#131) 2023-10-15 08:14:34 +02:00
docs config.yml with Docker (#131) 2023-10-15 08:14:34 +02:00
internal Create/change account password (#156) 2023-11-20 18:03:28 +01:00
public Fix markdown render dark background (#137) 2023-10-16 12:20:09 +02:00
scripts Add binaries cross compile in CD (#113) 2023-09-26 15:13:58 +02:00
templates Create/change account password (#156) 2023-11-20 18:03:28 +01: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 Add binaries cross compile in CD (#113) 2023-09-26 15:13:58 +02:00
CHANGELOG.md v1.5.2 2023-10-16 12:26:05 +02:00
Dockerfile config.yml with Docker (#131) 2023-10-15 08:14:34 +02:00
LICENSE Initial commit 2023-03-14 16:22:52 +01:00
Makefile Add binaries cross compile in CD (#113) 2023-09-26 15:13:58 +02:00
README.md v1.5.2 2023-10-16 12:26:05 +02:00
config.yml Add binaries cross compile in CD (#113) 2023-09-26 15:13:58 +02:00
go.mod Update Go & deps. version (#102) 2023-09-18 18:17:11 +02:00
go.sum Update Go & deps. version (#102) 2023-09-18 18:17:11 +02:00
opengist.go Add git, auth and gists tests (#97) 2023-09-17 00:59:47 +02:00
package-lock.json Use dayjs instead of moment (#92) 2023-09-05 15:22:24 +02:00
package.json Use dayjs instead of moment (#92) 2023-09-05 15:22:24 +02:00
postcss.config.js Optimize assets 2023-03-23 16:00:48 +01:00
tailwind.config.js Miscellaneous front changes (#93) 2023-09-06 23:36:44 +02:00
tsconfig.json Convert Javascript to Typescript 2023-04-03 23:37:54 +02:00
vite.config.js Added new logo (#103) 2023-09-19 15:48:19 +02:00

README.md

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

DocumentationDemo

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

Features

  • Create public, unlisted or private snippets
  • Init / Clone / Pull / Push snippets via Git over HTTP or SSH
  • Revisions history
  • Syntax highlighting ; markdown & CSV support
  • Like / Fork snippets
  • Search for snippets ; browse users snippets, likes and forks
  • Download raw files or as a ZIP archive
  • OAuth2 login with GitHub, Gitea, and OpenID Connect
  • Restrict or unrestrict snippets visibility to anonymous users
  • Docker support
  • More...

Quick start

With Docker

Docker images are available for each release :

docker pull ghcr.io/thomiceli/opengist:1

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
version: "3"

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"

You can define which user/group should run the container and own the files by setting the UID and GID environment variables :

services:
  opengist:
    # ...
    environment:
      UID: 1001
      GID: 1001

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.5.2/opengist1.5.2-linux-amd64.tar.gz

tar xzvf opengist1.5.2-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.20+), Go (1.20+), Node.js (16+)

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

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

Documentation

The documentation is available in /docs directory.

License

Opengist is licensed under the AGPL-3.0 license.