Skip to content

Opengist self-hosted gist solution contained within a debian .deb package for automatic installation. Compatible with Ubuntu, Debian, CentOS, and ZorinOS.

Notifications You must be signed in to change notification settings

Aetherinox/opengist-debian

Repository files navigation

.deb package for Opengist

♾️ Opengist ♾️


Self-hosted gist software within a .deb package; available for install using apt-get install




Version Build Status Downloads Size Last Commit Contributors




About

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.


View




Install


To install Opengist, you have two options -- pick only one:

  1. Proteus Apt Repo
  2. Manual

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.


Proteus Apt Repo

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

Manual

Download the latest .deb package from this repo's Releases page. You can download and install it using the commands below.

  • Replace ARCH with 386, amd64, or arm64
  • 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



Config

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:



Start / Manage Service

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




Build

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



Structure

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



Previews




Contributors ✨

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?


The following people have helped get this project going: