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.
To install Opengist, you have two options -- pick only one:
Note
After instaling this package; 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 opengist service.
The Proteus Apt Repo is a special Ubuntu / Debian / CentOS repository hosted by this developer on Github. You can install this Opengist package using apt-get install
by adding the proteus apt repo to your sources list.
Open Terminal
, add the GPG key to your keyring
wget -qO - https://github.com/Aetherinox.gpg | sudo gpg --dearmor -o /usr/share/keyrings/aetherinox-proteus-archive.gpg
Fetch the repo package list:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/aetherinox-proteus-archive.gpg] https://raw.githubusercontent.com/Aetherinox/proteus-apt-repo/master $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/aetherinox-proteus-archive.list
(Optional): You can test if the correct GPG key was added:
gpg -n -q --import --import-options import-show /usr/share/keyrings/aetherinox-proteus-archive.gpg | awk '/pub/{getline; gsub(/^ +| +$/,""); if($0 == "BCA07641EE3FCD7BC5585281488D518ABD3DC629") print "\nGPG fingerprint matches ("$0").\n"; else print "\GPG verification failed: Fngerprint ("$0") does not match the expected one.\n"}'
After completing the above; update your packages:
sudo apt update
You can now install the Opengist package with:
sudo apt install opengist
Download the latest .deb
package from this repo's Releases page. You can download and install it using the commands below.
- Replace
ARCH
with386
,amd64
, orarm64
- Replace
X.X.X
with the current version. ie:1.7.4
wget https://github.com/Aetherinox/opengist-debian/releases/download/X.X.X/opengistX.X.X-linux-ARCH.deb
sudo dpkg -i opengist_1.X.X_amd64.deb
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/
gitea.name:
oidc.client-key:
oidc.secret:
oidc.discovery-url:
custom.logo:
custom.favicon:
custom.static-links:
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, run the following commands within this repo's src/
folder:
dpkg-deb --root-owner-group --build opengist1.X.X-linux-amd64
dpkg-deb --root-owner-group --build opengist1.X.X-linux-arm64
dpkg-deb --root-owner-group --build opengist1.X.X-linux-386
Run the linter
lintian opengist1.X.X-linux-amd64.deb --tag-display-limit 0 | grep executable-not-elf
lintian opengist1.X.X-linux-arm64.deb --tag-display-limit 0 | grep executable-not-elf
lintian opengist1.X.X-linux-386.deb --tag-display-limit 0 | grep executable-not-elf
This debian package uses the following structure:
opengistX.X.X-linux-ARCH
File structure / tree for opengistX.X.X-linux-ARCH.deb
.
├── opengistX.X.X-linux-ARCH
│ ├── 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
└── opengistX.X.X-linux-ARCH.deb
30 directories, 21 files
We are always looking for contributors. If you feel that you can provide something useful to Gistr, then we'd love to review your suggestion. Before submitting your contribution, please review the following resources:
Want to help but can't write code?
- Review active questions by our community and answer the ones you know.
The following people have helped get this project going: