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.
Install this Debian package as you would any other by downloading and executing it. Once OpenGist is installed, the following files will be placed in the below structure:
📁 /etc/opengist/config.yml
📁 /lib/systemd/system/opengist.service
📁 /usr/bin/opengist
This deb will create a new system user named opengist
which will run the service.
You may edit the Opengist config file by opening /etc/opengist/config.yml
log-level: warn
external-url:
opengist-home:
db-filename: opengist.db
sqlite.journal-mode: WAL
http.host: 0.0.0.0
http.port: 6157
http.git-enabled: true
ssh.git-enabled: true
ssh.host: 0.0.0.0
ssh.port: 2222
ssh.external-domain:
ssh.keygen-executable: ssh-keygen
github.client-key:
github.secret:
gitea.client-key:
gitea.secret:
gitea.url: https://gitea.com/
oidc.client-key:
oidc.secret:
oidc.discovery-url:
To start/stop opengist, execute the following:
sudo systemctl start opengist
sudo systemctl stop opengist
sudo systemctl status opengist
The system service will activate the binary in /usr/bin/opengist
To build the debian package
dpkg-deb --root-owner-group --build opengist-1.6.1_amd64
dpkg-deb --root-owner-group --build opengist-1.6.1_arm64
Run the linter
lintian opengist_1.6.1_amd64.deb --tag-display-limit 0 | grep executable-not-elf
lintian opengist_1.6.1_arm64.deb --tag-display-limit 0 | grep executable-not-elf
This debian package uses the following structure:
File structure / tree for opengist_1.6.1_amd64
.
├── opengist_1.6.1_amd64
│ ├── DEBIAN
│ │ ├── conffiles
│ │ ├── control
│ │ └── postinst
│ ├── etc
│ │ └── opengist
│ │ └── config.yml
│ ├── lib
│ │ └── systemd
│ │ └── system
│ │ └── opengist.service
│ └── usr
│ ├── bin
│ │ └── opengist
│ └── share
│ ├── applications
│ │ └── opengist.desktop
│ ├── doc
│ │ └── opengist
│ │ ├── AUTHORS
│ │ ├── changelog.gz
│ │ ├── copyright
│ │ ├── examples
│ │ │ └── config.yaml
│ │ ├── README
│ │ └── README.md
│ ├── icons
│ │ └── hicolor
│ │ ├── 128x128
│ │ │ └── apps
│ │ │ └── opengist.png
│ │ ├── 16x16
│ │ │ └── apps
│ │ │ └── opengist.png
│ │ ├── 256x256
│ │ │ └── apps
│ │ │ └── opengist.png
│ │ ├── 32x32
│ │ │ └── apps
│ │ │ └── opengist.png
│ │ └── 64x64
│ │ └── apps
│ │ └── opengist.png
│ ├── lintian
│ │ └── overrides
│ │ └── opengist
│ └── man
│ └── man1
│ └── opengist.1.gz
└── opengist_1.6.1_amd64.deb
30 directories, 21 files
File structure / tree for opengist_1.6.1_arm64
├── opengist_1.6.1_arm64
│ ├── DEBIAN
│ │ ├── conffiles
│ │ ├── control
│ │ └── postinst
│ ├── etc
│ │ └── opengist
│ │ └── config.yml
│ ├── lib
│ │ └── systemd
│ │ └── system
│ │ └── opengist.service
│ └── usr
│ ├── bin
│ │ └── opengist
│ └── share
│ ├── applications
│ │ └── opengist.desktop
│ ├── doc
│ │ └── opengist
│ │ ├── AUTHORS
│ │ ├── changelog.gz
│ │ ├── copyright
│ │ ├── examples
│ │ │ └── config.yaml
│ │ ├── README
│ │ └── README.md
│ ├── icons
│ │ └── hicolor
│ │ ├── 128x128
│ │ │ └── apps
│ │ │ └── opengist.png
│ │ ├── 16x16
│ │ │ └── apps
│ │ │ └── opengist.png
│ │ ├── 256x256
│ │ │ └── apps
│ │ │ └── opengist.png
│ │ ├── 32x32
│ │ │ └── apps
│ │ │ └── opengist.png
│ │ └── 64x64
│ │ └── apps
│ │ └── opengist.png
│ ├── lintian
│ │ └── overrides
│ │ └── opengist
│ └── man
│ └── man1
│ └── opengist.1.gz
└── opengist_1.6.1_arm64.deb
30 directories, 21 files